Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   ADOConnection ist bei Programmstart aktiv. Soll aber nicht (https://www.delphipraxis.net/110042-adoconnection-ist-bei-programmstart-aktiv-soll-aber-nicht.html)

Sharky 12. Mär 2008 07:14


ADOConnection ist bei Programmstart aktiv. Soll aber nicht
 
Hai ihr,

ich habe ein dummes Problem. Zur Designzeit habe ich die ADOConnection meines Datamodules aktiv (Es ist dort ein Connection-String zu meinem Testserver hinterlegt). Wenn ich das Programm dann in der Firma starte kommt immer erst die Meldung das der Datenbankserver nicht gefunden werden kann. Logisch, der ist ja auch nicht da.

Aber ich dachte wenn ich im OnCreate des DataModules (wird vor der MainForm erzeugt) die Verbindung schliesse würde das funktionieren.
Delphi-Quellcode:
procedure TDM1.DataModuleCreate(Sender: TObject);
begin
  Connection1.Close;
  Connection1.ConnectionString :=
    'FILE NAME=' + ChangeFileExt(ParamStr(0), '.UDL');
  Connection1.Open;
end;
Ich bin mir fast sicher das es unter D5/7/2005 auch noch so funktioniert hat.

Bernhard Geyer 12. Mär 2008 07:32

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von Sharky
Ich bin mir fast sicher das es unter D5/7/2005 auch noch so funktioniert hat.

AFAIK ist es dort genauso. Erst nach dem Konstruktor werden die Propertywerte aus der DFM-Geladen und damit dein Problem akut.
Aber gab's nicht mal jemand der einen IDE-Experten geschrieben hat der vor/während dem Compilieren das Property zurückgesetzt hat :gruebel:

mkinzler 12. Mär 2008 07:33

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Nein, weil das onCreate aufgerufen wird, wenn alle Komponenten aus der DFM wiederhergestellt wurden.

Sharky 12. Mär 2008 07:39

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Okay, dann habe ich das falsch in meinem Köpfchen gehabt. Schade.

@Bernhard: Kannst Du dich noch erinnern wie der IDE-Experten heisst?

Bernhard Geyer 12. Mär 2008 07:45

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von Sharky
@Bernhard: Kannst Du dich noch erinnern wie der IDE-Experten heisst?

Keine Ahnung mehr. Dürfte über 1/2 Jahrzehnt her sein.
Wie wäre es mit einer Ableitung der TADOConnection-Komponente. Im Designer-Modus wird das Active-Property berücksichtigt, im Nicht Designer-Modus (Debug, NoDebug-Modus) wird die Connection nicht beim Streamen der Properties hergestellt. Evtl. steuerbar über weiteres Property. Ich glaube irgendwelche 3th-Party-DB-Komponenten bieten auch so ein Property an.

dfried 12. Mär 2008 08:13

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von Bernhard Geyer
Evtl. steuerbar über weiteres Property. Ich glaube irgendwelche 3th-Party-DB-Komponenten bieten auch so ein Property an.

Stimmt, z.B. bei DOA heisst das Property "DesignConnection" und bei den CRLABS-Komponenten "KeepDesignConnected".

Bernhard Geyer 12. Mär 2008 08:22

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von dfried
Stimmt, z.B. bei DOA heisst das Property "DesignConnection" und bei den CRLABS-Komponenten "KeepDesignConnected".

Und da ich DAC for MySQL von CrLab habe werde ich es dort gesehen haben. Und da wir alle DB-Zugriffskompos dynamisch erzeugen hatte ich es auch wieder vergessen das es dort war.

Sharky 12. Mär 2008 08:32

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von Bernhard Geyer
... Und da wir alle DB-Zugriffskompos dynamisch erzeugen hatte ich es auch wieder vergessen das es dort war.

So mache ich es jetzt auch. Ist einfacher und "besser" als sich extra eine Ableitung von TADOConnection zu schreiben ;-)

NormanNG 12. Mär 2008 08:38

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Hi,

Zitat:

Aber gab's nicht mal jemand der einen IDE-Experten geschrieben hat der vor/während dem Compilieren das Property zurückgesetzt hat Grübelnd...
das gibt es auch bei GExpert. Dort unter "set component properties" zu finden...

Bernhard Geyer 12. Mär 2008 08:49

Re: ADOConnection ist bei Programmstart aktiv. Soll aber nic
 
Zitat:

Zitat von NormanNG
das gibt es auch bei GExpert. Dort unter "set component properties" zu finden...

Und wer ihn sucht. Standardmäßig ist der Menütechnisch deaktiviert und muß erst über Configuration GExpert aktiviert werden.


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