Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wann referenz, wann kopie? (https://www.delphipraxis.net/34367-wann-referenz-wann-kopie.html)

Pseudemys Nelsoni 21. Nov 2004 23:16


wann referenz, wann kopie?
 
moin,

ich weiss nicht ob ich mich im titel richtig ausgedrückt habe(glaube nicht), aber ich definier mal meine frage...

ich muss einer klasse einen socket übergeben, natürlich sollte es keine kopie eines sockets sein sondern genau der gleiche...muss ich da nen pointer übergeben oder wird das auch so gemacht wenn ich den socket "normal" übergebe (in einer funktion)?

Robert_G 21. Nov 2004 23:23

Re: wann referenz, wann kopie?
 
Eine Instanz einer Klasse wird immer als Referenz übergeben. Primitive Typen (Records, integer, ....) werden normalerweise kopiert, außer deine Funktion schluckt sie als var-parameter. Bei einer Zuweisung wird dann aber wieder kopiert.

Pseudemys Nelsoni 22. Nov 2004 14:41

Re: wann referenz, wann kopie?
 
moin,

aber "TSocket" ist ja nur ein synonym für "u_int" und der wieder ist ein normaler integer, also handelt es sich bei TSocket nicht um eine klasse oder? also müsst ich einen pointer von tsocket übergeben statt eine variable von TSocket oder?

Aenogym 22. Nov 2004 14:47

Re: wann referenz, wann kopie?
 
ähm TSocket ist 100%ig eine Klasse.

Aenogym

Pseudemys Nelsoni 22. Nov 2004 14:54

Re: wann referenz, wann kopie?
 
nein, in den units von delphi sieht es so aus: TSocket -> u_int -> integer

ich weiss das es eine klasse sein muss, irgendwoher müssen die methoden wie sendtext etc ja kommen.... ich frag mich nur wieso delphi da nen integer anzeigt..

Sanchez 22. Nov 2004 15:02

Re: wann referenz, wann kopie?
 
Zitat:

Zitat von Aenogym
ähm TSocket ist 100%ig eine Klasse.

Nein, ist es nicht.
TSocket ist ein Handle auf einen Windows Socket.
Du meinst wahrscheinlich TCustomWinSocket. Das ist die VCL-Klasse. OH lesen bildet :stupid:

grüße, daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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-2025 by Thomas Breitkreuz