Moin,
Wozu soll das Datenmodul gut sein, wenn es garnicht benutzt und nichtmal irgendwo instanziiert wird?
Deshalb, frage ich ja hier um zu erfahren ob ich alles richtig gemachtr habe bei der Nutzung.
Eine globale Variable kann man auch so deklarieren.
Ich will aber Werte die ich in einer
Unit produziere in anderen Units nutzen und da sollte doch ein Datenmodul der schönere Weg sein - oder?
Wie und wo verwendest du diese Variablen?
Hier wird sie gesetzt:
Delphi-Quellcode:
unit allgemein;
interface
uses
.... datenmodul;
// Einbinden um Felder deaktivieren zu können
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form_Allgemein: TForm_Allgemein;
implementation
{$R *.dfm}
procedure TForm_Allgemein.CoB_SymboltypChange(Sender: TObject);
begin
datenmodul.MaxLine:= CoB_Symboltyp.ItemIndex;
CB_Activate_Symbol.Caption:=IntToStr(CoB_Symboltyp.ItemIndex)+'
##'+inttostr(datenmodul.MaxLine);
end;
end.
und hier zum Beispiel genutzt:
Delphi-Quellcode:
unit anschluesse;
interface
uses
...,
datenmodul;
// Einbinden um Felder deaktivieren zu können
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form_Anschluesse: TForm_Anschluesse;
implementation
{$R *.dfm}
procedure TForm_Anschluesse.FormShow(Sender: TObject);
begin
lbledt_AnzAnschluesse.EditLabel.Caption:=IntToStr(datenmodul.MaxLine);
if datenmodul.MaxLine
in [7,8,9,10,11,12,13,14]
then
begin
Form_Anschluesse.chklst_GAnschluesse.Enabled:=False;
Form_Anschluesse.chklst_KAnschluesse.Enabled:= False;
Form_Anschluesse.lbledt_AnzAnschluesse.Enabled:=False;
end
else
if datenmodul.MaxLine = 6
then
begin
Form_Anschluesse.chklst_GAnschluesse.Enabled:=False;
Form_Anschluesse.chklst_KAnschluesse.Enabled:= True;
Form_Anschluesse.lbledt_AnzAnschluesse.Enabled:=True;
end
else
begin
Form_Anschluesse.chklst_GAnschluesse.Enabled:=True;
Form_Anschluesse.chklst_KAnschluesse.Enabled:=false;
Form_Anschluesse.lbledt_AnzAnschluesse.Enabled:=False;
end;
end;
Antwort: Mit deinem Datenmodul ist alles in Ordnung, da es nichts macht.
Genau das ist das "Problem". Aber wenn es nichts macht, warum kann ich in der ersten
Unit den Variableninhalt wieder auslesen und in der zweiten nicht?
Aber da du sonst alles Wichtige über die Variablen verschweigst, kann dir Keiner helfen.
Nicht mit Vorsatz. Ich dachte ich hätte das Problem deutlich genug beschrieben ohne Quellcode posten zu müssen.
Gruß Heiko