Liebe Experten,
ich habe ein Programm A, das erzeugt mehr oder weniger zyklisch Dateien.
Diese Dateien soll nun ein Programm B auswerten. (Ein gemeinsames Programm geht aus bestimmten Gründen nicht.)
Wenn A eine Datei fertig gemacht hat, dann sendet es eine Message an B (per PostMessage). Geht bestens.
Mein Problem: Bisher war der Ablagepfad der Datei fest gegeben und die Dateinamen waren fortlaufen nummeriert. In der Message habe ich einfach die laufende Nummer als Longword (im lParam) übergeben. Das muss jetzt allgemeiner sein, ich muss also Pfad+Dateinamen von A an B senden. Wie macht man das richtig???
Vergeblicher Versuch:
Pfad+Dateiname als Pchar, dann den Pointer darauf im lParam mit der Message verschicken. Da erhalte ich in B eine Access Violation. Beim Verschicken eines ^Integer gibt es das zwar (wohl zufällig) nicht, aber die Integerzahl kommt auch nicht an, also wohl auch Zugriff auf einen falschen Speicher.
Mir bekannte Lösungsmöglichkeit:
Ich hatte schon einmal große Datenblöcke per FileMapping zwischen Programmen ausgetauscht. Aber das ist doch für diese elementare Aufgabe viel zu umständlich.
Also, wie macht man so etwas richtig? Da muss es doch einen Mechanismus bei Windows geben.
Ich hoffe auf Tipps,
Grüße GuaAck