Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.196 Beiträge
 
Delphi 12 Athens
 
#22

Re: Variable aus anderer Unit kann nicht richtig ausgelesen

  Alt 1. Jul 2009, 15:30
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    WichtigerString: String;
  public
    property Instanz: string read WichtigerString write WichtigerString;
  end;

var
  Form1: TForm1;
  WichtigerString: string;

begin
  WichtigerString:= 'A1CW5d3f';
end.
showmessage(form1.instanz); form1.instanz greift auf ErsteUnit.Form1.WichtigerString aka TForm1.WichtigerString zu, wärend
WichtigerString:='A1CW5d3f'; auf ErsteUnit.WichtigerString zugreift ...
es sind also unterschiedliche Variablen und demnach auch unterschiedliche Inhalte.

also ersrmal entferne eine der beiden Variablen.

1: entweder die in TForm1 entfernen, einen Getter/Setter für .Instanz erstellen und die globlae Variable auslesen/beschreiben

2: siehe mein Vorredner

oder 3: eine Klassen-Variable erstellen
Delphi-Quellcode:
unit ErsteUnit

type
  TForm1 = class(TForm)
...
  private
    class var WichtigerString: String;
  public
    class property Instanz: string read WichtigerString write WichtigerString;
  end;

var
  Form1: TForm1;
   
implementation
...
begin
  TForm1.WichtigerString:= 'A1CW5d3f';
end.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat