AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hauptprogramm Daten an DLL senden

Ein Thema von C0pa · begonnen am 3. Jun 2010 · letzter Beitrag vom 7. Jun 2010
Antwort Antwort
C0pa

Registriert seit: 25. Mai 2010
Ort: Laudenbach
23 Beiträge
 
#1

Hauptprogramm Daten an DLL senden

  Alt 3. Jun 2010, 16:27
Vielleicht fehlt mir einfach gerade die Idee aber:
derzeit sendet meine DLL immer Daten an das Hauptprogramm mit WMCopyData. Funktioniert auch. Nun soll meine Hauptanwendung aber auch Daten bzw. Einstellungen treffen können und diese weiter an die DLL senden können. Jemand eine Idee wie man das machen könnte?!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Hauptprogramm Daten an DLL senden

  Alt 6. Jun 2010, 18:57
Am besten du verwendest Events zusammen mit Memory Mapped Files.
  Mit Zitat antworten Zitat
C0pa

Registriert seit: 25. Mai 2010
Ort: Laudenbach
23 Beiträge
 
#3

AW: Hauptprogramm Daten an DLL senden

  Alt 7. Jun 2010, 15:18
Ja nur an welches Handle sende ich ein z.B. notify Event bei der DLL um die MMF zu lesen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

AW: Hauptprogramm Daten an DLL senden

  Alt 7. Jun 2010, 15:24
Du kannst dir ja in der DLL ein Message-Only-Windows erstellen und das daran senden.
Oder wenn die DLL einen eigenen Thread betreibt, dann PostThreadMessage.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Hauptprogramm Daten an DLL senden

  Alt 7. Jun 2010, 15:32
Ja nur an welches Handle sende ich ein z.B. notify Event bei der DLL um die MMF zu lesen?
An gar kein Window Handle. Du erstellst dir mit CreateEvent() ein Event, welches du dann mit SetEvent() aktivierst, sobald Daten ankommen. Die DLL wartet mit WaitForSingleObject() auf das Event und setzt dieses unmittelbar danach mit ResetEvent() zurück und liest die Daten aus dem MMF.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: Hauptprogramm Daten an DLL senden

  Alt 7. Jun 2010, 16:18
Wieso nicht einfach eine ganze normale Funktion/Prozedur der DLL aufrufen?
Über die Parameter lassen sich jede Menge Daten übergeben.
Da die Anwendung und die DLL im gleichen Prozessspeicher liegen erübrigen sich auch solche Dinge wie z.B. MemoryMappedFiles.

Auch die Benachrichtigung über Windows-Messages ist viel zu umständlich.
Man bekommt das Gleiche viel einfacher über Callback-Funktionen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

AW: Hauptprogramm Daten an DLL senden

  Alt 7. Jun 2010, 17:50
Wieso nicht einfach eine ganze normale Funktion/Prozedur der DLL aufrufen?
Deine Annahme, dass sich die DLL im selben Speicherbereich befindet ist leider inkorrekt Er will einen Hook schreiben, der wie ein Sniffer Pakete protokolliert.
  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 04:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz