![]() |
Wie Array aus DLL-BC5 in Delphi lesen
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:
1. Warum kriege ich nicht den zugewiesenen Wert 0 beim TMJ[0][0]sondern 65534?
//############# 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 ############### 2. wie kann ich dann von Delphi aus auf die anderen einzelnen "unsigned int" Felder zugreifen ? MFG |
AW: Wie Array aus DLL-BC5 in Delphi lesen
Was ist den so schlimm an der Verwendun g von Codeformatierung?
Bitte für Code auch entsprechende Tags verwenden! |
AW: Wie Array aus DLL-BC5 in Delphi lesen
Delphi-Quellcode:
unsigned int sollte Cardinal und nicht Word sein.
type
PMPArr = ^TMPArr; TMPArr = array[0..4, 0..21] of Cardinal; function MP(a, b: Integer): PMPArr; Adr:= MP(2, 5); Edit1.Text:= IntToStr(Adr^[0, 0]); abgesehn davon sollte dennoch 0 rauskommen :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz