Hey,
folgendes Szenario: Ich habe mir eine ClientSocket Implementation geschrieben. Dazu habe ich erstmal eine TCustomSocket Klasse erstellt. Von dieser leite ich ein TStandardSocket, ein TSOCKS4Socket und ein TSOCKS5Socket ab.
In meinem Programm soll es nun eine Option geben, ob ein Proxy verwendet werden soll. Wie relalisiere ich Codetechnisch diesen Abschnitt möglichst elegant?
Delphi-Quellcode:
var
Socket: TCustomSocket;
begin
if dwProxy = 0 then
begin
with Socket as TStandardSocket do
begin
Create;
try
// Viel Code
finally
Free;
end;
end;
end;
if dwProxy = 1 then
begin
with Socket as TSOCKES4Socket do
begin
Create;
try
// Viel Code
finally
Free;
end;
end;
end;
// ...
end;
Der Code zwischen dem Create und Free bleibt ja praktisch gleich bis auf eine winzige Änderung am Anfang, weil das ProxySocket halt noch die Adresse des Proxys und dessen Port benötigt.
Gibt ja für Variablen sowas wie die Kennung als absolute. Wenn es sowas auch dymnamisch geben würde, also dass bei dwProxy = 0 Socket = absoulte SOCKS4Proxy ist.
Gruß