Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Formularübergreifendes Array


Travis - Di 12.11.02 16:30
Titel: Formularübergreifendes Array
Hallo Leute,

ich habe folgendes Problem: Wie kann ich es anstellen, dass ein Array auch in anderen Formularen des Programms genutzt werden kann? Das Array ist momentan so deklariert:


Quelltext
1:
2:
3:
type OnlineUserType = Array[0..9, 0..1] of string[20];

var OnlineUser: OnlineUserType;


Wenn ich das ganze jedoch (wie mit normalen Variablen auch) in den Public-Bereicht verschiebe, dann erscheint bei compilieren folgender Fehler:

[Fehler] uICM.pas(100): Felddefinition nicht erlaubt nach Methoden oder Eigenschaften

Kurz: Wie deklariere ich Array formularübergreifend, als public?

Schon im Voraus danke,

Travis


patmann2001 - Di 12.11.02 17:10

Hallo
Ich habe das mal schnell unter D4 probiert. Schreibe den Type unter Type ganz oben rein. Dann die Variable in den Public Brereich. In der zweiten Form dann aufrufen mit Form1.OnlineUser[].
Bei mir klapps prima

cu Patmann


Tino - Di 12.11.02 17:24
Titel: Re: Formularübergreifendes Array
Die Fehlermeldung
Delphi hat folgendes geschrieben:
[Fehler] uICM.pas(100): Felddefinition nicht erlaubt nach Methoden oder Eigenschaften
erscheint wenn Du z. b. so Deine Variable definierst:

Quelltext
1:
2:
3:
4:
5:
Public
  Variable1: String;
  Variable2: String;
  Procedure BeispielProcedure;
  OnlineUser: OnlineUserType;

Du musst erst die Variablen und dann halt die Methoden definieren. Also so:

Quelltext
1:
2:
3:
4:
5:
Public
  Variable1: String;
  Variable2: String;
  OnlineUser: OnlineUserType;
  Procedure BeispielProcedure;


Gruß
TINO


Travis - Di 12.11.02 17:56

Okay, danke für die Antworten! Es funktioniert jetzt einwandfrei!
Zwei sachen hab ich jetzt geändert: Ich habe den Array ganz oben unter Type dazugeschrieben statt über dem Bestehenden einen neuen zu erstellen und unter Public meine Variable vor den Prozeduren deklariert.

Nochmals Danke!

Travis