![]() |
TDCOMConnection
Hallo
Ich habe eine DComConnection zu auf einen Server. Die DCOMConnection (den Clientseitigen Verbindungsaufbau allgemein) möchte ich in eine eingenen Klasse verpacken. Das Problem ist jetzt allerdings das die TDCOMConnection als Konstructor eine TComponent erwartet. Leider habe ich die in meiner Klasse nicht zu verfügung. Was gibt da für möglichkeiten das ich die TDCOMConnection in meine eigene Klasse abbilden kann? Oder muss ich es direkt auf meine Form packen? (würde mir nicht so gefallen) |
Re: TDCOMConnection
Hi,
oft (eigentlich immer) klappt es, wenn Du im Konstrutktor einfach NIL übergibst. mfG mirage228 |
Re: TDCOMConnection
ok danke werde ich mal ausprobieren. Aber wieso bieten sie nicht einfach einen konstruktor an, der keine argumente benötigt?
|
Re: TDCOMConnection
Hallo
Ich folgende Klasse ist eine ableitung einer TDCOMConnection. Jetzt möchte ich gerne einen neuen konstruktor schreiben. Wie kann ich von meinem Konstruktor den der Vaterklasse aufrufen? (In java geht es mit super(..) )? und meine zweite frage wäre wie kann ich methoden überlagern? würde gerne die Methode AfterConnection() überlagern und die gegebenen funktion erweitern.
Code:
type
TConnection = class(TDCOMConnection) private mIPAdress : String; mServerName : String; public constructor create(IPAdress , ServerName : String); procedure AfterConnect( ); end; implementation constructor TConnection.create(IPAdress , ServerName : String); var temp : String; begin mIPAdress := IPAdress; mServerName := ServerName; try //self.Create(nil);//????? geht nicht so habe es auch schon mit inherited probiert self.Connected := False; self.LoginPrompt := False; self.ComputerName := mIPAdress; self.ServerName := mServerName; self.Connected := True; except On E:Exception do .... end; end; |
Re: TDCOMConnection
Hi,
Ich weiss nicht, wie du inherited verwendest hast, aber so sollte es gehen:
Delphi-Quellcode:
mfG
inherited Create(nil);
mirage228 |
Re: TDCOMConnection
Zitat:
|
Re: TDCOMConnection
ok jetzt geht es. ich hatte es immer mit self. .... probiert.
|
Re: TDCOMConnection
hallo
er zeigt mir aber immer noch folgende warnung an: Warning Connection.pas(29) Mehtod 'Create' hides virtual mehtod of base type TDCOMConnection was bedeutet das genau. besitzt die Klasse TDCOMConnection noch virtuelle methoden die ich überlagern muss? |
Re: TDCOMConnection
Du must das Schlüsselwort override noch angeben:
Delphi-Quellcode:
public
constructor create(IPAdress , ServerName : String); override; procedure AfterConnect( )); override; end; |
Re: TDCOMConnection
Hallo ich habe die create methoden deklaration mit override deklariert aber jetzt bekomme ich folgende fehlermeldung:
Declaration of create differs from previous declaration. Method AfterConnect not found in case class kann es sein, dass die methoden der Vaterklasse (TDCOMConnection) nicht erweitert werden können?
Code:
public
constructor create(IPAdress , ServerName : String); override; function getClientDataSet(DataSetProvider : String) : TClientDataSet; procedure AfterConnect( ); override; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
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 by Thomas Breitkreuz