Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: array mit unterschiedl. "variablentypen" ?!?

  Alt 26. Apr 2005, 14:45
Zitat von heiopei:
noch zu der case-variante:
hab ich mir auch schon überlegt, aber da kann ich ja nich mit indizehs auf die einzelnen typen zugreifen.
weil: array mit variablen vom selben typ: dings: array [1..4] of Shortstring;

ich möchte jetzt allerdings auch per indizeh auf die einzelnen felder zugreifen können, was mit dem case record ja ihmo nicht mögl. ist!
Warum sollte das nicht gehen?

Um beim Beispiel von oben zu bleiben:
Delphi-Quellcode:
  // Zugriff:
  MyArray[0].EinInt := 10;
  MyArray[0].RecType := tInteger;

  MyArray[1].EinChar := 'x';
  MyArray[1].RecType := tChar;
  .
  .
Wenn du es mit einem Array of Pointer machst, dann arbeitest du völlig ohne Netz und doppeltem Boden - d.h. all die Typsicherheit die dir Delphi bietet, mit all dem Komfort drumherum schießt du in den Wind. (Die o.g. Recordvariante ist diesbezüglich im Übrigen auch nicht der Weisheit letzter Schluss .)

Wenn du es aber unbedingt so willst:
Delphi-Quellcode:
var
  MyArray: array[0..N] of Pointer;
  i: Integer;
  x: Integer;
begin
  MyArray[0] := @i;
  x := MyArray[0]^; // => x=i
end;
Aber das ist unsicher, unschön da schwer lesbar, und eher unsauber. Mit einer vernünftigen Liste kommst du auf Dauer sicher besser weg.

Zitat von heiopei:
2. nicht für strukturierte typen - aber das wäre dass, was ich brauche
Was meinst du damit? File of XXX, oder Records, oder Klassen?

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat