Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi static Hilfe (https://www.delphipraxis.net/88324-static-hilfe.html)

nitschchedu 13. Mär 2007 19:34


static Hilfe
 
Hallo leute habe ein Problem wie kann ich in Delphi eine Variabel mit static benutzen wie das im C/C++ möglich ist ?
Und wenn das nicht geht die kann ich das anders erreichen ?

sirius 13. Mär 2007 19:41

Re: static Hilfe
 
Ich habs jetzt grad micht ganz parat. aber das ging irgendwie so:
Delphi-Quellcode:
const a:integer=0;
also eine typisierte Konstante in der Funktion anlegen und dann musst du dem Compiler (irgendwo im Menu) noch was zu diesen typisierten Konstanten sagen (da war irgendwo ein Häkchen zu setzen)

Reinhard Kern 13. Mär 2007 19:51

Re: static Hilfe
 
Zitat:

Zitat von nitschchedu
Hallo leute habe ein Problem wie kann ich in Delphi eine Variabel mit static benutzen wie das im C/C++ möglich ist ?
Und wenn das nicht geht die kann ich das anders erreichen ?

Hallo,

soweit ich weiss ist eine globale Variable am ehesten das was du meinst. Wenn du das als Eigenschaft einer Klasse brauchst, kannst du mal unter class variable nachsehen, aber das ist nicht genau das gleiche, weil die nur solange existiert wie eine Instanz der Klasse.

Gruss Reinhard

nitschchedu 13. Mär 2007 19:59

Re: static Hilfe
 
Cool wenn das geht aber ohne das Häckchen meckert der bei mir (ich glaub das das daran liegt) ([Pascal Fehler] ndu_tec_k.pas(9): E2029 Bezeichner erwartet, aber 'CONST' gefunden) hmmm schau bitte nochmal nach wo das Häckchen ist ja ?


Hmm und zu dem class variable schau ich auch mal. Ich brauche das so das wenn ich zwei Klassen erzeuge in zwei verschiedenen Programmen das da das selbe in der Variabel steht.

Christian Seehase 13. Mär 2007 20:04

Re: static Hilfe
 
Moin nitschedu,

Zitat:

Zitat von nitschedu
Ich brauche das so das wenn ich zwei Klassen erzeuge in zwei verschiedenen Programmen das da das selbe in der Variabel steht.

für so etwas ist der contructor da.
Dort werden die internen Felder initialisiert.

omata 13. Mär 2007 20:04

Re: static Hilfe
 
Zitat:

Zitat von nitschchedu
...Ich brauche das so das wenn ich zwei Klassen erzeuge in zwei verschiedenen Programmen das da das selbe in der Variabel steht.

In zwei verschiedenen Programmen? Wie soll das gehen? Meinst du vielliecht zwei unterschiedliche Instanzen einer Klasse?

Delphi-Quellcode:
type
  TMyClass = class
  private
    function GetStatic: String;
    procedure SetStatic(value: String);
  public
    property StaticString: String read GetStatic write SetStatic;
  end;

implementation

const
  FStatic: String = 'Test-Static';

function TMyClass.GetStatic: String;
begin
  Result := FStatic;
end;

procedure TMyClass.SetStatic(value: String);
begin
  FStatic := Value;
end;
Gruss
Thorsten

nitschchedu 13. Mär 2007 20:12

Re: static Hilfe
 
Also meine Kumpels machen das so das sie in der Klasse vor die Variabel static schreiben das Bedeutet das alle Klassen in diesen Programm die diese Klasse benutzen in dieser Variabel den gleichen Wert drin haben (teilen sich einen Speicher). Da geht bei dennen jetzt wollte ich wiesen wie das in Delphi geht ?

omata 13. Mär 2007 20:18

Re: static Hilfe
 
Ja, genau das macht mein Beispiel.

nitschchedu 13. Mär 2007 20:25

Re: static Hilfe
 
Geht das auch noch wenn Zwei Programm eine DLL wo die Klasse drin ist aufrufen ?

omata 13. Mär 2007 20:43

Re: static Hilfe
 
Das kann ich nicht so einfach beantworten. Da musst du mal etwas konkreter werden.
Wie soll da die Klasse erzeugt werden und wie lange lebt sie? Wie willst du innerhalb der Dll mehrere Klassen erzeugen, die dann den aufrufenden Programmen zugeordnet sind?

Verwirrte Grüsse
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.
Seite 1 von 2  1 2      

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