AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi dll als Bindeglied zwischen 2 Programmen
Thema durchsuchen
Ansicht
Themen-Optionen

dll als Bindeglied zwischen 2 Programmen

Ein Thema von rab0r · begonnen am 31. Jan 2008 · letzter Beitrag vom 3. Feb 2008
Antwort Antwort
rab0r

Registriert seit: 11. Apr 2006
10 Beiträge
 
#1

Re: dll als Bindeglied zwischen 2 Programmen

  Alt 1. Feb 2008, 16:42
Zitat von Apollonius:
Wie hast du es denn mit der Semaphore versucht? Habe ich das richtig verstanden, dass du eigentlich nur den Datenaustausch über eine MMF synchronisieren willst?
Genau darum gehts mir Wegen mir kann der Datenaustausch auch über ne Namedpipe laufen, nur TCP will ich nicht unbedingt bemühen..

Semaphore hab ich angelegt in meinem Programm A mit Startwert 0 und Maximalwert 1, in der Dll geöffnet und mit WaitForSingleObject gewartet. Wenn nun im Programm A nen Button gedrückt wird, mach ich ein ReleaseSemaphore und direkt ein WaitForSingleObject, das WaitFor.. in der Dll kehrt zurück, ich hole in der Dll die Daten aus Programm B (das hat die Dll geladen), mache ein ReleaseSemaphore und das Programm A weiß dass die Dll fertig ist... Den Ablauf kann man natürlich so noch länger hin und her wechseln lassen, um mehrere Daten über das MMF zu übertragen, allerdings hab ich da das Problem, dass manchmal ein Eintrag mehrmals im Programm A ankommt oder dass nicht alles ankommt.. Keine Ahnung, wieso... :/

Gibts zur Synchronisierung vllt ne schönere Möglichkeit?

LG

Edit:

Zitat von sirius:
Du musst unterscheiden zwischen sendmessage und postmessage. Bei sendmessage kommt die Nachricht direkt an das ZielFenster und nicht über die MessageQueue und demanch auch nicht über getmessage.
Und wenn du für das WM_Quit ein breakpoint bei deallocatehwnd setzt?
Habs nun auch mit PostMessage versucht, hat aber nichts geändert, nur dass das Programm das die Dll lädt nun abstürzt wenn ich WM_QUIT sende.... MessageBoxen bekomm ich immernoch nur die 'notify' und keine aus der Loop... Wie geht das mit nem Breakpoint in ner Dll, wenn die Dll von nem externen Programm geladen wird?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz