Einzelnen Beitrag anzeigen

madina

Registriert seit: 1. Nov 2005
153 Beiträge
 
#1

Wie Array aus DLL-BC5 in Delphi lesen

  Alt 15. Aug 2010, 13:54
Hallo,

ich habe in BorlandC5 ein DLL erstellt, ein Array definiert der in eine Funktion mit Daten gefüllt wird und ein Ergebnis zurückliefert wie folgt:
Code:
//############# BC5 ##################
extern "C" unsigned int *MP(int a, int b);

unsigned int TMJ[5][22]={0};

unsigned int* _export MP(int a, int b)
{
  for (i=0; i<=4; i++)
   {
     for (j=0; j<=21; j++)
       TMJ[i][j]= i+j;
   }
 return(&TMJ[0][0]);
}

//############ Delphi ##############
Var Adr: ^Word;
Adr:= MP(2, 5);
Edit1.Text:= IntToStr(Adr^);

####### Ergebnis ###################
MP(2, 5) liefert in Edit1.Text den Wert: 65534 und nicht 0
Word hat als Type ein Wertbereich von 0-65535

//########### Fragen ###############
1. Warum kriege ich nicht den zugewiesenen Wert 0 beim TMJ[0][0]sondern 65534?

2. wie kann ich dann von Delphi aus auf die anderen einzelnen "unsigned int" Felder zugreifen ?

MFG
mfg
madina

Geändert von mkinzler (15. Aug 2010 um 13:57 Uhr) Grund: C-Tag eingefügt
  Mit Zitat antworten Zitat