Hallo, wie ist es möglich in Delphi (Turbo Delphi) ein großes Array auszulagern, ähnlich wie in C eine Header-Datei anzulegen?? Wäre schön wenn mir jemand helfen könnte. Grüße Jack
Hi jack, was hast du denn vor? Möchtest du ein konstantes Array (zum Zeitpunkt der Kompilierung bekannt) ablegen, oder ein zur Laufzeit generiertes speichern?
1 | Unit Unit1; |
2 | |
3 | Interface |
4 | |
5 | Const |
6 | iArray : Array[0..3] Of Integer = |
7 | ( |
8 | 10, 20, 30, 40 |
9 | ); |
10 | |
11 | Implementation |
12 | |
13 | End. |
jack schrieb: > ein großes > > Array auszulagern, ähnlich wie in C eine Header-Datei > > anzulegen Tom schrieb: >
1 | > Unit Unit1; |
2 | > |
3 | > Interface |
4 | > |
5 | > Const |
6 | > iArray : Array[0..3] Of Integer = |
7 | > ( |
8 | > 10, 20, 30, 40 |
9 | > ); |
10 | > |
11 | > Implementation |
12 | > |
13 | > End. |
14 | > |
äh,..., da ist aber schon ein Unterschied. In dem Beispiel von Tom wird Speicher reserviert. Aber in einem C Header steht nur die Interface Beschreibung, also nur Deklarationen. Module, die den gleichen Header einbinden wären nicht zu linken.
Da in Delphi Deklaration und Implementation immer in einer Unit zusammen sind, gibt es solche Möglichkeiten in dem Sinne nicht. Auch "brauchbare" Forward Deklarationen fallen damit aus. Der Interface Abschnitt der Unit könnte man mit einem Header vergleichen und den Implementation Abschnitt mit der .c/.cpp Datei.
Thomas K. schrieb: > Der Interface Abschnitt der Unit > könnte man mit einem Header vergleichen Nein, nein, so einfach ist das nicht. Der Inhalt einer C #include Datei wird vom Präprozessor an der Stelle eingefügt und dann das ganze Modul durch den Compiler übersetzt. Etwas vergleichbares in Delphi ist die Direktive {$I},{$INCLUDE}.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.