Zitat von
r2c2:
ich habe nämlich folgenden Satz etwas anders anders interprätiert, als sh17:
Zitat von
ozz:
Wie kann ich es machen, das alle Instanzen (aller Arten von Nachfahren) die gleichen Verbindungsdaten verwenden, OHNE das ich es jedesmal an alle übergeben muß.
Das heißt doch, dass alle Nachfahren die selben Daten verwenden sollen. Und die sollen nicht immer einzeln festgelegt werden müssen. Dann ist es doch am einfachsten man hat eine Klasse, der man die Daten übergibt und die verwaltet die Verbindung zur Datenbank. Die anderen müssen sich darum also gar nicht mehr kümmern...
Dann würdest du aber mit deinem Code in jeder TURL eine eigene Connection anlegen. Vielleicht sehe ich auch hier wieder was falsch und das wäre dann Absicht, aber der Vollständigkeit halber sei noch auf das Singleton-Pattern verwiesen. Das garantiert dir dann, dass du wirklich immer eine globale Instanz von der Klasse bekommst:
Delphi-Quellcode:
type
TExampleClass = class(TObject)
private
// Fields
protected
// Fields
constructor create;
public
// Fields
class function getInstance : TExampleClass;
end;
implementation
var ExampleClassInstance : TExampleClass;
class function TExampleClass.getInstance : TExampleClass;
begin
if not assigned(ExampleClassInstance) then
begin
ExampleClassInstance := TExampleClass.Create;
end;
result := ExampleClassInstance;
end;
Ist natürlich nicht vollständig, man sollte tunlichst drauf achten, zu zählen wieviele Verweise es gibt und dafür sorgen, dass wenn es keinen mehr gibt, die Instanz auch wieder freigegeben wird. Das fehlt hier natürlich komplett, aber über die getInstance kann man sich so immer das eine globale Objekt holen, es wäre bei jedem Aufruf das einzigste.
Gruß Der Unwissende