Autor Beitrag
whitef
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: Sa 24.10.15 12:57 
hi,
irgendwie stehe ich gerade auf dem Schlauch...

ich möchte gerne eine Globale Variable erstellen; diese soll nur den Pfad zu einer Datei beinhalten:

(Dies habe ich Head-Bereich unter var eingefügt:)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
...
var
  Filepath : String = ExtractFilePath(ParamStr(0)) + 'blabla.xml';
...



Muss ich wirlich den Form-OnCreate Bereich für sowas mißbrauchen?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
...
var
  Filepath : String;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  Filepath := ExtractFilePath(ParamStr(0)) + 'blabla.xml';
end;
...


VG


Zuletzt bearbeitet von whitef am Sa 24.10.15 14:55, insgesamt 1-mal bearbeitet
Stundenplan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 128
Erhaltene Danke: 32

Win 7
Delphi 7 Pers., C# (VS 2010 Express)
BeitragVerfasst: Sa 24.10.15 13:12 
Der Initialisierungswert einer globalen Variablen muss zur Kompilierzeit bekannt bzw. konstant sein. Das Anwendungsverzeichnis kann sich aber auch nach dem Kompilieren ändern, z.B. wenn du die EXE verschiebst. Deshalb müssen solche Werte beim Start des Programms (z.B. OnCreate des MainForms) initialisiert werden.
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Sa 24.10.15 14:04 
user profile iconwhitef hat folgendes geschrieben Zum zitierten Posting springen:
Muss ich wirlich den Form-OnCreate Bereich für sowas mißbrauchen?

Eine Unit hat auch einen initialization-Abschnitt.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
...
var
  Filepath : String;
...
initialization
  Filepath := ExtractFilePath(ParamStr(0)) + 'blabla.xml';
  ...
end.
whitef Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 202
Erhaltene Danke: 1

Windows X
Delphi XE X
BeitragVerfasst: Sa 24.10.15 14:54 
stimmt... ok danke!
habe diese abschnitte noch nie wirklich benutzt gehabt.

Lösung:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
...

var
  Filepath : String;

...

implementation

...
procedure TForm1.FormCreate(Sender: TObject);
begin
  showmessage(Filepath);
end;

...

end.

initialization
  Filepath := ExtractFilePath(ParamStr(0)) + 'blabla.xml';
finalization
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: So 25.10.15 09:07 
Moin... :P

Globale Variablen sind in er heutigen Zeit nicht mehr up to date... um es mal vorsichtig auszudrücken. Mache dir doch ein Datenobjekt mit den gesamten Einstellungen des Programmes. Das Objekt selbst regelt das Laden und speichern. Damit hast du einen zentralen Punkt... es gibt mit Sicherheit mehr als eine Einstellung. :tongue: