Dario Linsky
Erfahrenes Mitglied
Hallo zusammen,
ich hab in meiner Anwendung ein MDI-Formular, das in der Klassendefinition eine Public-Variable besitzt:
Beim Starten der Anwendung wird eine DLL aufgerufen und das Application-Objekt aus der aufrufenden Anwendung in die DLL übergeben:
Aus dem Objekt such ich mir dann das MDI-Formular (PApp.MainForm) und darüber möchte ich dann gerne auf das TADOConnection-Objekt zugreifen:
Bis hierhin läuft das auch alles ohne Probleme, aber die Variable in der DLL, die ich eigentlich mit dem Objekt aus der Anwendung belegen möchte, enthält nur einen nil-Pointer. Also können keine Daten abgefragt werden.
Hat irgendjemand eine Ahnung, wie ich an das Objekt aus der übergeordneten Anwendung kommen kann?
PS: Die DLL enthält die DLL-Kindformulare, das Anzeigen davon funktioniert auch ohne Probleme. Allerdings gibt es da auch noch ein kleines Problem: Die Steuerelemente in dem MDIChild-Formular reagieren nicht auf die Tab-Taste (SetFocus ins nächste Control der Tab-Reihenfolge). Wär gut, wenn das auch noch jemand wüsste. Aber das kann ich mit entsprechendem Tippaufwand auch selbst machen.
ich hab in meiner Anwendung ein MDI-Formular, das in der Klassendefinition eine Public-Variable besitzt:
Code:
type
TMDIForm = class(TForm)
// ...
public
DbConn: TADOConnection;
end;
Beim Starten der Anwendung wird eine DLL aufgerufen und das Application-Objekt aus der aufrufenden Anwendung in die DLL übergeben:
Code:
procedure Starten(PApp: TApplication); export; stdcall;
Code:
var
DbConn: TADOConnection;
begin
DbConn := TADOConnection(PApp.MainForm.FindComponent('DbConn'));
Bis hierhin läuft das auch alles ohne Probleme, aber die Variable in der DLL, die ich eigentlich mit dem Objekt aus der Anwendung belegen möchte, enthält nur einen nil-Pointer. Also können keine Daten abgefragt werden.
Hat irgendjemand eine Ahnung, wie ich an das Objekt aus der übergeordneten Anwendung kommen kann?
PS: Die DLL enthält die DLL-Kindformulare, das Anzeigen davon funktioniert auch ohne Probleme. Allerdings gibt es da auch noch ein kleines Problem: Die Steuerelemente in dem MDIChild-Formular reagieren nicht auf die Tab-Taste (SetFocus ins nächste Control der Tab-Reihenfolge). Wär gut, wenn das auch noch jemand wüsste. Aber das kann ich mit entsprechendem Tippaufwand auch selbst machen.