Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DatenModul erstellen/initialisieren aus einer DLL (https://www.delphipraxis.net/112791-datenmodul-erstellen-initialisieren-aus-einer-dll.html)

RWarnecke 27. Apr 2008 11:47

Datenbank: Firebird • Version: 2.0.3 • Zugriff über: ZEOS

DatenModul erstellen/initialisieren aus einer DLL
 
Hallo zusammen,

ich habe ein DataModul in eine DLL gepackt. Nun möchte ich beim Starten meines Programms dieses Modul initialisieren. Im OnCreate-Ereignis vom DataModule habe ich folgendes stehen :
Delphi-Quellcode:
procedure TDM_Firebird.DataModuleCreate(Sender: TObject);
begin
  with ZConnection do
  begin
    Hostname := ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'DBServer');
    Database := ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'Database');
    User := ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'DBUsername');
    Password := ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'DBPassword');
    Port := StrToInt(ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'DBPort'));
    Connect;
  end;
end;
Ich möchte nun, dass genau diese Procedure ausgeführt wird. Wie mache ich das ?

Mein Versuch :
Delphi-Quellcode:
DM_Firebird := TM_Firebird.Create(nil);
Wennich diese Zeile nun in eine seperate Procedure oder zwischen begin und end von der DLL schreibe, kommt beim Starten immer kein gültiger Integer-Wert.

Elvis 27. Apr 2008 12:25

Re: DatenModul erstellen/initialisieren aus einer DLL
 
Warum verwechselt ihr immer Konstruktor mit den komischen Events?
Hätte es nicht gereicht einfach den ctor zu überschreiben?

Achso, zum Fehler, der kann ja eigentlich nur hier passiert sein:
Zitat:

Delphi-Quellcode:
Port := StrToInt(ReadFromRegistryString(HKEY_CURRENT_USER, APPNAME, 'DBPort'));

Du gibst keine Defautlwert an, also WIRD es knallen MÜSSEN wenn der Key noch nicht da ist.

RWarnecke 27. Apr 2008 12:30

Re: DatenModul erstellen/initialisieren aus einer DLL
 
Zitat:

Zitat von Elvis
Warum verwechselt ihr immer Konstruktor mit den komischen Events?
Hätte es nicht gereicht einfach den ctor zu überschreiben?

Was möchtest Du mir damit sagen ? Was ist ein ctor ?

Elvis 27. Apr 2008 12:36

Re: DatenModul erstellen/initialisieren aus einer DLL
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von Elvis
Warum verwechselt ihr immer Konstruktor mit den komischen Events?
Hätte es nicht gereicht einfach den ctor zu überschreiben?

Was möchtest Du mir damit sagen ? Was ist ein ctor ?

ctor heißen Konstruktoren in .Net, reine Gewohnheitsabkürzung.
War das so schwer rauszulesen?

RWarnecke 27. Apr 2008 12:45

Re: DatenModul erstellen/initialisieren aus einer DLL
 
Zitat:

Zitat von Elvis
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von Elvis
Warum verwechselt ihr immer Konstruktor mit den komischen Events?
Hätte es nicht gereicht einfach den ctor zu überschreiben?

Was möchtest Du mir damit sagen ? Was ist ein ctor ?

ctor heißen Konstruktoren in .Net, reine Gewohnheitsabkürzung.
War das so schwer rauszulesen?

Jaein, hatte mir schon so etwas gedacht, war mir aber nicht sicher. Du hattest recht, die Zeile, wo ich den Port übergeben habe, war der Fehler. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 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