Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Komponente in extra Unit benutzen...


Blackbird - Mo 13.10.03 19:26
Titel: Komponente in extra Unit benutzen...
Ich brauch mal wieder ein bisserl Hilfe.
Bei meinem kleinen Netzwerktool möchte ich den eigentlichen Netzwerkcode (der den eigentlichen Datenverkehr regelt - ich benutze TServersocket usw.) in eine extra unit packen und später in einer Klasse benutzen.

Könnte meintwegen so aussehen:

Delphi-Quelltext
1:
2:
3:
4:
type TKlasse = class(TObject)
      Client: TClientsocket;
      procedure Tuirgendwas;
end;

...ums mal kurz zu fassen.
Bei der TClientsocket.create wird ja nun als Parameter AOwner: TComponent erwartet. Was muss an dieser Stelle jetzt genau eingesetzt werden? Bin mir da nicht so genau im Klaren weil in der Unit keine VCL Komponenten genutzt werden, also die Units auch net eingebunden sind.

Ich habs mal so probiert:

Delphi-Quelltext
1:
TheClient := TClientSocket.create(Application);                    

Hat soweit erst mal ganz gut funktioniert - nur ist das auch korrekt? Ich kenn mich net soo gut aus mit Komponenten usw.

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.


Tino - Di 14.10.03 08:43

Gib einfach nil an. Sollte funktionieren.

Gruß
Tino


Blackbird - Di 14.10.03 18:23

Aber wenn ich doch nil eintrage wird doch beim Beenden des Progamms das Objekt nicht korrekt gelöscht oder heisst das nur, dass ich den Konstruktor/Destruktor halt nur selbst aufrufen muss ?


maximus - Di 14.10.03 21:25

hi...

Wenn du den konstruktor manuell aufrufst, dann bist du auch für die freigabe verantwortlich. Es sei denn du übergibst einen owner (im normal fall die form instanz), dann überträgst du ihm diese verantwortung :wink: ...die verhältnisse müssen halt immer geklärt sein.


cu,