Autor Beitrag
Blackbird
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Mo 13.10.03 19:26 
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:
ausblenden 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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 14.10.03 08:43 
Gib einfach nil an. Sollte funktionieren.

Gruß
Tino
Blackbird Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: 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,

_________________
mfg.
mâximôv