Forum: PC-Programmierung in Delphi array auslagern


von jack (Gast)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

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?

von jack (Gast)


Lesenswert?

Hi Tom,

es handelt sich um ein konstantes Array.

von Purzel H. (hacky)


Lesenswert?

Und was soll das bringen ?

von Tom (Gast)


Lesenswert?

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.

von jack (Gast)


Lesenswert?

Danke Tom, funktioniert.

  Gruß
   Jack

von Transformer (Gast)


Lesenswert?

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.

von Thomas K. (muetze1)


Lesenswert?

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.

von Transformer (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.