Hi,
wo die Variable für ErzeugeNachricht herkommt, ist doch dargestellt
Delphi-Quellcode:
Var
MyMsg : AnsiString;
...
ErzeugeNachricht(@MyMsg);
Zum Beispiel könnte der Aufruf durch ein Button Klick kommen.
Zitat:
Wenn InMsg vor ErzeugeNachricht weniger als 5 Zeichen enthält, dann sind die letzten 1-2 Zeichen undefiniert.
Das stimmt. Habe den Code nur "zusammen kopiert" und diese Stelle nicht richtig angepasst gehabt. Ist also Zufall das es da so steht.
Das Try except habe ich einfach nur zur Sicherheit drum gemacht. Könnte man natürlich auch weglassen.
Die Anwendung arbeitet ohne
DLL's, also diese Aufrufe sind nur innerhalb der Anwendung.
Ich kann leider nicht zur sehr ins Detail gehen weil diese Anwendung bei und auf Arbeit entwickelt wurde und deswegen kann ich auch nicht den ganzen Code darstellen. Ich versuche es aber so gut es geht zu beschreiben.
Wir arbeiten mit Nachrichten wie ihr schon gesehen habt. Es gibt ein Hauptthread der die empfangenen Nachrichten auswertet und an die entsprechenden "Unterthreads" weiterleitet. Dies geschieht sehr oft im Programm weil die Kommunikation nur über dieses "Message-Konstrukt" arbeitet (also wird sehr oft benutzt).
Das Konstrukt für das Schicken und Empfangen der Nachrichten ist das von mir beschriebene. Ich sage auch nicht, dass dies die ultimative Lösung wäre, deswegen habe ich ja hier nachgefragt und würde gerne ein paar Anregungen sammeln, wie man sowas auch noch lösen könnte. Ich bin mir auch nicht ganz sicher ob diese beschriebe Lösung, nicht den Speicher ordentlich "framentiert"?!
Viele Grüße
Alex