Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Muktiple Datentypen mit "with .. as" elegant verwe

  Alt 31. Jan 2008, 11:11
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ß
  Mit Zitat antworten Zitat