Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Records in Public, wie geht das? (https://www.delphipraxis.net/4185-records-public-wie-geht-das.html)

AlexV 18. Apr 2003 15:40


Records in Public, wie geht das?
 
Hallo
ich hab folgendes Problem:

Ich hab ein Prog mit MDI-fenstern und ich willl ein Record auf dem ich von überall(d.h. alle MDI-fenster können auf ihn zugreifen) zugreifen möchte!

Ich hab versucht ein Record in Public(Hauptform) zu deklarieren, hat aber nicht funktioniert.

Kann mir jemand helfen?

mfG

Alexander

P.S: coole Smilies :shock: :chat: :bounce2: :witch:

[Edit=Sakura]Habe mal die Standardfarbe zurückgesetzt, damit man das auch lesen kann.[/Edit]
Es war alles in dieser Farbe :shock:

sakura 18. Apr 2003 15:56

Das sollte eigentlich gehen. Ähnliches haben wir alle schon gemacht. Zeige mal, wie Dein Code (Klassendeklaration für public) aussah, dann können wir Dir besser helfen.

...:cat:...

AlexV 18. Apr 2003 16:13

sourcecode
 
Liste der Anhänge anzeigen (Anzahl: 2)
hier ist der code.

Christian Seehase 18. Apr 2003 16:18

Moin Alex,

Typdeklarationen können nicht geschachtelt werden.

Deklariere den Record Typen vor dem Formular, oder in einer eigenen Unit, die Du dann mit einbindest.
Anschliessend dürfte der Variablendeklaration innerhalb des public Abschnittes nichts mehr im Wege stehen.

AlexV 18. Apr 2003 19:30

Was mache ich falsch?
 
Hallo,

Ich habe den Record Typen in einer eigenen Unit deklariert und dann die Variable (Array) innerhalb des public Abschnittes. Habe die Unit eingebunden -- > es hat funktioniert!:-)
Aber wenn ich auf die Variable von einer anderen Form zu greifen will,
kommt die Fehlermeldung, dass die Variable nicht deklariert ist, obwohl ich sie in Public der Main-Unit deklariert habe.

Ich habe meine Unit auch in die Unit der andren Form eingebunden, funktioniert wieder nicht.

Was mache ich falsch?

mfG

Alexander

Christian Seehase 19. Apr 2003 01:19

Moin Alex,

ich habe da so eine Vermutung.

Beispiel:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  //...
  public
    FMyField : TMyType;
  //...

var
  Form1 : TForm1;
//...
Ich vermute, dass Du aus einer anderen Unit heraus direkt FMyField verwenden willst.
Da es sich hierbei aber um ein Feld der Klasse TForm1 handelt, muss auch das Objekt mit angegeben werden, also, in obigem Beispiel, Form1.MyField.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.

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