Da man mit dem Arraynamen ohne Index immer das erste Arrayelement anspricht, und da weder LOCAL ARRAY no DIMENSION eine Syntax erlauben für Arrays in Arrays kannst Du die Idee vergessen.
Aber ein Type ist nichts anderes als die Definition eines Datensatzes. Insofern würde man TYPEs mit CURSORen übersetzen können. Wenn ein TYPE einen anderen als teil enthält, dann löst man das per Fremdschlüssel auf.
Statt mit Cursoren kannst Du auch mit Recordobjecten hantieren, angefangen mit EmptyType = CREATEOBJECT("EMPTY") und ADDPROPERTY(EmptyType,"property",value) kannst Du ein einzelnes object eines Typen generieren, leichter ist es bei entsprechendem
Cursor per SCATTER NAME oRecord.
Bei den Recordobjekten dieser Art kann man auch per ADDPROPERTY() auch weitere Eigensschaften für Kindobjekte anlegen und sie dort reinsetzen, oder man fügt eine Collection an und dort dann weitere Recordobjekte. Der Zugriff auf einzelne Daten wird dadurch
aber beliebig kompliziert. VFP kann zwar SQL aber nicht Linq To Objects oder ähnliches.
Aber das nur zu den theoretischen Möglichkeiten etwas vergleichbares mit im RAM aufzubauen, die Daten in Tabellenform zu bringen geht natürlich am besten über den Ansatz mit dem Speichern eines Fremdschlüssels (Verweises) statt eines Unterobjekts.
Und wie Alexander schon sagte, es wird in VFP nicht besser mit der Zukunftsträchtigkeit der Software.
Wenn Du mit VB DLLs ActiveX meinst, die kann man in VFP ansprechen, ja, aber das macht es auch nicht besser.
Tschüß, Olaf.
Olaf Doschke - TMN Systemberatung GmbH http://www.tmn-systemberatung.de