Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable im Constructor setzen (https://www.delphipraxis.net/41880-variable-im-constructor-setzen.html)

Gambit 10. Mär 2005 07:38


Variable im Constructor setzen
 
Hallo,

kann ich nicht eine Variable, hier vom Type Integer im Constructor eines Objektes setzen?

Ich hatte versucht den Constructor eines Thread-Objektes wie folgt zu überschreiben:

Delphi-Quellcode:
constructor TConnectThread.create(CreateSuspended: boolean);
begin
  inherited create(CreateSuspended);
  ErrCode:= -1;
end;
wenn ich mir nun den Wert der Variablen nach der Instanzierung angucke, hat er den Wert 0.

Gruß

Gambit

RavenIV 10. Mär 2005 08:00

Re: Variable im Constructor setzen
 
setz doch mal einen breakpoint dort hin, wo der Integer im "create" gesetzt wird und steppe da mal durch.
so kannst du am besten rausfinden, was passiert...

und soweit isch weiss, braucht man atomare variablen nicht mit einem startwert belegen.

Gambit 10. Mär 2005 08:26

Re: Variable im Constructor setzen
 
Oh Mann, ich sollte vielleicht länger schlafen. Ich hatte die Create-Methode im Protected Teil implementiert, da muss ich mich ja nicht wundern...
Könnte man so eine Error-Variable eigentlich auch als Property implementieren und wenn ja, hätte das Vorteile?

jim_raynor 10. Mär 2005 08:38

Re: Variable im Constructor setzen
 
Ja kannst du und hat auch Vorteile. So kannst du einschränken, dass auf diesen Wert nur Lesend von aussen zugegriffen werden kann.

Gambit 10. Mär 2005 09:05

Re: Variable im Constructor setzen
 
müsste ich die im Constructor wohl so dann setzen, oder?
Ich habe ja zum einen im Private Teil der Klasse zB.
Delphi-Quellcode:
...
Private
  fVariable : fInteger;
...
und im Property Abschnitt
Delphi-Quellcode:
Property Variable: Integer read fVariable;
im Constructor dann

Delphi-Quellcode:
soundso.create;
begin
  fvariable:=-1;
end;
somit hätte ich dann doch von außen nur lesenden Zugriff. Wenn ich das jetzt richtig verstehhe...

mason 10. Mär 2005 11:36

Re: Variable im Constructor setzen
 
Zitat:

Zitat von Gambit
somit hätte ich dann doch von außen nur lesenden Zugriff. Wenn ich das jetzt richtig verstehhe...

Genauso so - hast du also richtig verstanden :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz