Forum: Programmieren allgemein
by Kostas,
16. Jun 2014
Danke für die Info.
Der Vorschlag ist auch mehrfach gemacht worden.
Ich habe das Result von RegisterWindowsMessage in eine DWord Variable gespeichert und als
Ersatz für das receiverHandle übergeben doch das hat nicht funktioniert.
Ich bin noch am schauen wie genau das geht. Anhand den Beispiel die ich bis jetzt gesehen habe,
kann ich wahrscheinlich WMCopyData nicht verwenden. So wie es...
Forum: Programmieren allgemein
by Kostas,
15. Jun 2014
Ja, verstehe. Sicherlich gibt es mehrere Wege. Für das aktuelle Projekt finde ich die Lösung mit SendMessage ausreichend.
Es geht um zwei Programme die beide auf dem gleichen Rechner laufen. Das eine erstellt ein Wägeschein und das andere
zeigt den Stream einer LAN-Kamera die auf die Ladefläche des LKWs schaut. Sobald ein Wägeschein erstellt wird, werden
ein paar Daten wie Datum, WägescheinNr,...
Forum: Programmieren allgemein
by Kostas,
15. Jun 2014
Hallo EWeiss,
ich bin mir nicht sicher ob du mich damit meinst. Falls doch,
ich habe schon gelernt dabei, das habe ich auch umgesetzt.
-Ich verwende keine Broadcast sondern sende an das Fensterhandle des Empfängers.
-Ich habe erfahren dass WM_COPYDATA nur mit SendMessage und nicht mit PostMessage geht.
-Jetzt ist mir klar warum Broadcast so langsam war.
-Ich weis jetzt dass in meinem...
Forum: Programmieren allgemein
by Kostas,
15. Jun 2014
Für Delphi5 habe ich nun mal keine andere Möglichkeit.
Für zukünftige IDEs habt ihr ja bereits die passenden Hinweise gleich mittgeliefert. :-)
Schönen Dank dafür.
Gruß Kosats
Forum: Programmieren allgemein
by Kostas,
15. Jun 2014
Tausend Dank an alle beteiligten,
so funktioniert es einwandfrei und ausreichend schnell.
//zum Senden
procedure SendData;
var receiverHandle : THandle;
copyDataStruct : TCopyDataStruct;
begin
receiverHandle := FindWindow(PChar('TfrKamera1'),PChar('frKamera1'));
Forum: Programmieren allgemein
by Kostas,
14. Jun 2014
Hallo zusammen,
ach, ein dummer Fehler ist mit da passiert.
Ich habe eine public Variable vom Typ TCopyDataStruct angelegt
und mit Werten befüllt. Danach über einen Thread zugegriffen und gesendet.
Jetzt erzeuge ich das TCopyDataStruct innerhalb vom Thread und es funktioniert
einwandfrei.
Sorry dass ich bemüht habe.
Gruß Kostas
Forum: Programmieren allgemein
by Kostas,
13. Jun 2014
Hallo himitsu,
eigentlich möchte ich die Nachricht an alle Programm(nur Eigene Programme) senden
die genau diese Nachricht konsumieren können. Die Anwendungen können auch mehrfach gestartet sein.
Gibt es dafür eine bessere Möglichkeit? Du hast natürlich recht, das fremde Programm die Nachricht erst garnicht bekommen sollen.
Leider hat die Variante "Auslesen bis zum #0." nicht...
Forum: Programmieren allgemein
by Kostas,
13. Jun 2014
Hallo zusammen,
ich glaube das ist der richtige Weg aber es hat noch nicht funktioniert.
Beide Anwendungen sind in Delphi5 geschrieben. Da ist das Char noch 1 Byte lang.
copyDataStruct.cbData := Length(Nachricht) * Sizeof(Char); //hat nicht funktioniert.
Was himitsu meinte habe ich nicht verstanden. Vermutlich wird das die Lösung sein. :-)
Forum: Programmieren allgemein
by Kostas,
13. Jun 2014
Hallo zusammen,
ich sende über SendMessage eine Nachricht an ein anderes Programm.
Dabei wird die Nachricht manchmal am Ende verfälscht. Sie wird abgeschnitten und teilweise andere Zeichen hinzugedichtet.
Zu senden der Nachricht:
type TNachrichtTyp = (ntCreateSnapShot);
var
copyDataStruct : TCopyDataStruct;