![]() |
Hilfe bei Übersetzung VB to Delphi
Kann jemand bei der Übersetzung aushelfen ?
Delphi-Quellcode:
Public Function WVB_GetAFList() As Single()
Dim aflist() As Single Dim arysize As Long Dim LoopArr As Single ' Create the array arysize = 25 ReDim aflist(arysize - 1) As Single If (VB_GetAFList(aflist(0), arysize)) Then ReDim Preserve aflist(arysize - 1) For LoopArr = 0 To UBound(aflist) Debug.Print "AFLIST = " & aflist(LoopArr) Next LoopArr End If WVB_GetAFList = aflist End Function meine kläglicher Versuch:
Delphi-Quellcode:
Gruß, bluescreen
function WGetAFList:String;
var aflist : array of Single; arysize: Integer; LoopArr: Integer; begin Result := ''; arysize := 25; SetLength(aflist, arysize-1); If GetAFList(aflist[0], arysize) then SetLength(aflist, arysize-1); For LoopArr := Low(aflist) To high(aflist) do Result := floattostr(aflist[LoopArr]); End; |
Re: Hilfe bei Übersetzung VB to Delphi
Existier die Funktion GetAFList() ?
|
Re: Hilfe bei Übersetzung VB to Delphi
Zitat:
Delphi-Quellcode:
Public Declare Function VB_GetAFList Lib "USBRadio.dll" (ByRef ary As Single, ByRef size As Long) As Boolean
Delphi-Quellcode:
Mit anderen Funktionen aus der dll habe ich keine Probleme, scheint, das ich mit den arrays nicht richtig umgehe...exception wenn "GetAFList" ausgeführt wird.
type
TFNGetAFList = function(buf:Single; len: Integer):Boolean;stdcall; ... Gruß, bluescreen |
Re: Hilfe bei Übersetzung VB to Delphi
Hallo,
Wenn du das array von vornhereine kennst würd ich das vordeklarieren
Delphi-Quellcode:
aflist : array[0..24] of Single;
und die for-schleife würde ich auch einfacher schreiben
Delphi-Quellcode:
wobei loopArr sollte keine Float sondern ganzzahl sein, sowas wie
For LoopArr := 0 To 24 do
var LoopArr: integer; Wenn dein array eh immer 25 Einträge hat dann macht das setzen der länge und die abfragen zur Länge wärend der Laufzeit keinen Sinn und der Code wird nur unübersichtlicher. Meine Meinung dazu... Gruß Matthias |
Re: Hilfe bei Übersetzung VB to Delphi
Zitat:
Zitat:
Versuch mal
Delphi-Quellcode:
TFNGetAFList = function(var buf:Single; len: Integer):Boolean;stdcall;
|
Re: Hilfe bei Übersetzung VB to Delphi
Zitat:
ein post über dir habe ich die Ableitung aus der DLL sowie den VB-Code getextet... Gruß, bluescreen |
Re: Hilfe bei Übersetzung VB to Delphi
Zitat:
hier mal der export aus der dll selbst....
Delphi-Quellcode:
Hmm keiner einen Fehler gefunden ?
USBRADIO_API bool __stdcall VB_GetAFList (float* ary, int* arysize);
Gruß, bluescreen |
Re: Hilfe bei Übersetzung VB to Delphi
Wenn du die Arraygröße nicht kennst,dann klar war mein Post n Schwachsinn :kotz:
VB_GetAFList Ist deine deklaration von dir ?!, ich dachte aber immer das die eingebundenen Methoden aus dlls genauso heißen muss wie in der DLL. Mit genau der gleichen groß/kleinschreibung, also VB_GetEon Oder lieg ich da (schon wieder) falsch Gruß Matthias |
Re: Hilfe bei Übersetzung VB to Delphi
Zitat:
Delphi-Quellcode:
ist in meinem Code aber richtig, nur im Posting hier falsch angegeben gewesen.
USBRADIO_API bool __stdcall VB_GetAFList (float* ary, int* arysize);
Problem ist noch nicht gelöst !! Der VB-Code funzt, der Delphi leider nicht. Gruß, bluescreen |
Re: Hilfe bei Übersetzung VB to Delphi
Dann übergebe mal explizit die Adressen der Parameter
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 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 by Thomas Breitkreuz