![]() |
Aus DLL auf Prgramm zugreifen
Ich brauche eure Hilfe! Ich habe schon die ganze DP durchsucht, aber nie die konkrete Antwort auf mein Problem:
Aus meiner Anwendung heraus wird eine procedure aufgerufen (aus einer DLL), die ein Formular erzeugt und es anzeigt, aber nicht ShowModal! Die DLL wird dynamisch erzeugt und nach erfolgreichem Ausführen der "Startprocedure" in der DLL die Caption eines in der Anwendung vorkommenden Labels auf 'Gestartet' gesetzt. Wenn das DLL-Formular geschlossen wird, soll es das irgendwie der Anwendung mitteilen oder direkt die Caption des Labels auf 'Geschlossen' setzen. Ich hab's selbst schon mit der Übergabe von Pointer, dem label selbst... versucht, aber es hat nie geklappt! Könnt ihr mir sagen, wie ich das machen kann? |
Re: Aus DLL auf Prgramm zugreifen
das sollte eigentlich so gehen... an sonsten mach es über eine windows-message, die zu abschluss gefeuert wird.
|
Re: Aus DLL auf Prgramm zugreifen
Oder du machst einen Callback rein.
|
Re: Aus DLL auf Prgramm zugreifen
Könnt ihr mal n Beispiel geben? :shock:
|
Re: Aus DLL auf Prgramm zugreifen
[delphi]//dll: ganz am ende:
SendMessage(Form2.Handle, succ(WM_USER), myDATA, myDATA); // hauptprogramm: interface: procedure myProc(var msg: TMessage); message succ(WM_USER); // hauptprogramm: code: procedure TForm2.myProc(var msg: TMessage); begin ShowMessage(inttostr(msg.LParam)); end; |
Re: Aus DLL auf Prgramm zugreifen
Das funktioniert aber nur, wenn die DLL nur von einem Prozess benutzt wird. Ich würde mir mal das DLL Tutorial von Assarbad ankucken:
![]() |
Re: Aus DLL auf Prgramm zugreifen
@luckie: meinst du, weil die dll es nicht auf die Reihe bekäme, sich zwei verschiedene Form.Handles merken könnte, oder was ganz anderes?
|
Re: Aus DLL auf Prgramm zugreifen
Die DLL wird nur entladen, wenn kein Prozess sie mehr benutzt. Führts du den Code nur beim Entladen aus, dann trifft meine Aussage zu. Man muss den Code dann ausführen, wenn sie von einem Prozess entladen wird. dazu muss man seine eigene DLLProc einsetzten und auf DLL_UNDETACHE oder wie das heißt reagieren.
|
Re: Aus DLL auf Prgramm zugreifen
mann muss es ja nicht beim entladen machen. reicht ja vollkommen, wenn man es immer dann aufruft, wenn der codeabschnitt, der durchgeführt werden soll, damit sich was ändert (siehe allererste post des fragestellers) durchgelaufen ist.
|
Re: Aus DLL auf Prgramm zugreifen
Zitat:
Du mußt hier sehr deutlich zwischen DLL und Anwendung unterscheiden. Das bitte ich dich mal zu tun um hier dein Problem herauszustellen. Ich kann jedenfalls noch immer dein Problem nicht verstehen. Ich denke dies ließe sich einfach lösen, aber ich will hier nicht Rätselraten. Es ist nun an dir. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 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-2025 by Thomas Breitkreuz