Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datenbankanbindung in einer Klasse (https://www.delphipraxis.net/151824-datenbankanbindung-einer-klasse.html)

H4ndy 2. Jun 2010 20:18

Re: Datenbankanbindung in einer Klasse
 
Sorry, aber wenn man komplett auf OOP verzichtet, kann man auch zurueck zu C gehen und sich nen Ast freuen und die Toolchain zum kompilieren anwerfen.

OOP hast seine Berechtigung - aber wie weit man nun abstrahieren und verpacken will, kommt immer auf die Aufgabe an. Wenns halt ein Objekt wird, was nicht unbedingt einfach wiederverwendbar ist (wie hier im Topic), aber seine Aufgabe effizient und sicher erledigt, dann isses halt so.

Und OOP haelt dich auch nicht davon ab, Debugcode hinzuzufuegen. Auch sollte man Unit-Tests und Mockups ins Auge fassen, wenn man ein komplexes Projekt anfaengt, dann sinkt die Anzahl an potentiellen Schwachstellen schonmal. Davon abgesehen, verbietet es dir Delphi auch nicht, die ein oder andere prozedurale Funktion zu implementieren. Gibt ja nicht umsonst abertausende von Tool-Units...

Alfredo 2. Jun 2010 20:36

Re: Datenbankanbindung in einer Klasse
 
Zitat:

Sorry, aber wenn man komplett auf OOP verzichtet, kann man auch zurueck zu C gehen und sich nen Ast freuen und die Toolchain zum kompilieren anwerfen.
Firmen die noch über entsprechende Mittel verfügen und unabhängig sein wollen tun dies.

Ich kann mir so etwas nicht mehr leisten. :)

Gruß
Alfred

Meta777 2. Jun 2010 20:59

Re: Datenbankanbindung in einer Klasse
 
Zitat:

Zitat von Jens Hartmann
Die Benutzerdaten, sind natürlich in einer DB gespeichert. Oder...

Delphi-Quellcode:
    GetParamsOfGServer(slParams);
    Dm_PS.idHttpGServer.Post('http://127.0.0.1:8801/login', slParams);
hier greife ich über DM_PS. schon auf meine Datenmodul zu. Und beim erstellen, ist mir halt dieses Problem jetzt aufgefallen.

Hallo,
ich weiß nett ob ich dein problem richtig verstanden habe aber du kannst ja für dein datamod eine private feldvariable nutzen die im Constructor erstellt und im Destructor freigegeben wird. die globalen datamod/form variablen sollte man nur bedingt nutzen. ggf. das datamod aus automatischen erstellung rausnehmen.

<EDIT: FDM. statt DM_PS orso nutzen />

nen bissl code: alles ohne gewähr frei hand usw getippt.
Delphi-Quellcode:
type
  TMyEventParser = class;
  private
    FDM: TDatamod;
  public
    Constructor Create; reintroduce;
    Destructor Destroy; override;
  end;

implementation

Constructor TMyEventParser.create;
begin
  FDM := TDatamod.Create(nil);
end;

Destructor Destroy;
begin
  FDM.Free;
end;
shalom

Jens Hartmann 2. Jun 2010 22:39

Re: Datenbankanbindung in einer Klasse
 
Zitat:

Zitat von Meta777
Hallo,
ich weiß nett ob ich dein problem richtig verstanden habe aber du kannst ja für dein datamod eine private feldvariable nutzen die im Constructor erstellt und im Destructor freigegeben wird. die globalen datamod/form variablen sollte man nur bedingt nutzen. ggf. das datamod aus automatischen erstellung rausnehmen.

Ich glaube schon das Du mich verstanden hast. Allerdings, wie das mit den Destructor und Constructer Sachen so geht, habe ich bislang noch nicht richtig verstanden. Auch das mit den Funktionen

Delphi-Quellcode:
 
reintroduce;
override;
Ich verstehe zwar, an Hand verschiedener Beispiele, ein wenig was override und Co so machen. allerdings das Zusammenspiel der entsprechenden Klassen/Objekt und deren Prozeduren und so weiter, da komme ich bei solchen Sachen immer durcheinander.

Wenn ich richtig verstehe, was Du mir sagen willst, würdest du eine Datamod in der Klasse erstellen um dann über dieses auf die DB zu zugreifen. Aber wie gesagt, da fehlen mir die gesamten Zusammenhänge. LEIDER. :gruebel:

Gruß Jens

Chemiker 2. Jun 2010 23:18

Re: Datenbankanbindung in einer Klasse
 
Hallo,

das TDataModule hat als Ereignisse selber OnCreate und OnDestroy kann sich also selber Erzeugen und wieder freigeben.
Zu beachten ist das es in der uses-Anweisung mit als erstes ausgeführt wird und in der Projekt-Option auf verfügbares Form gesetzt wird.

Bis bald Chemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.
Seite 2 von 2     12   

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