Einzelnen Beitrag anzeigen

Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#1

Frage zu überladenen Methoden

  Alt 29. Mär 2005, 12:27
Hallo,

ich habe folgende Methode:

transferData(const aList: TStrings; UpdatePicturePath: boolean; aQuery: TADOQuery): boolean;

diese Methode läd Bilder auf einen FTP-Server.
In Abhängigkeit von der boolschen Variable UpdatePicturePath soll zusätzlich eine Datenbank aktualisiert werden. aQuery gibt an um welche Datenbank es sich handelt.

Das funzt auch soweit. Jetzt soll die Funktion aber nicht nur für ADO-Querys funktionieren sondern auch für ZQuerys oder ganz ohne Querys(nur FTP-Transfer).
Das könnte ich ja erreichen, indem ich die Methode überlade:

einmal:
transferData(const aList: TStrings): boolean;overload dann
transferData(const aList: TStrings; aQuery: TADOQuery): boolean;overload und:
transferData(const aList: TStrings; aQuery: TZDOQuery): boolean;overload und UpdatePicturePath bräuchte ich dann nicht mehr...

Meine Frage ist, ob man dafür auch theoretisch noch ein anderes Konstrukt nehmen könnte. Vielleicht eines wo man den Parameter aQuery nur angeben muss, wenn UpdatePicturePath = true ist. Und es dann auch egal ist, obs nun eine ADOQuery oder eine ZQuery ist.
Aber sowas gibts doch wohl nicht, oder?

Gruß

Gambit
  Mit Zitat antworten Zitat