AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Brauche Hilfe bei Übersetzung VB - C - Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Brauche Hilfe bei Übersetzung VB - C - Delphi

Ein Thema von Wal · begonnen am 9. Aug 2008 · letzter Beitrag vom 10. Aug 2008
Antwort Antwort
Wal

Registriert seit: 22. Sep 2006
57 Beiträge
 
#1

Brauche Hilfe bei Übersetzung VB - C - Delphi

  Alt 9. Aug 2008, 23:17
Habe hier VB-Source die eine C-Dll aufruft und habe Probleme bei der Übersetzung.
Delphi-Quellcode:
Public Declare Function VB_GetModuleName Lib "USBRadio.dll" (ByVal sNameBuffer As String, ByRef iNameLenght As Integer) As Long

Public Function WVB_GetModuleName() As String
    
    Dim sBuffer As String * 256
    Dim iBufferLen As Integer
    Dim lRet As Long
    
    lRet = VB_GetModuleName(sBuffer, iBufferLen)
    If lRet = 0 Then
        WVB_GetModuleName = Left(sBuffer, iBufferLen)
    End If
Übersetzt habe ich es so, aber ich bekomme eine Zugriffsverletzung von der Dll:
Delphi-Quellcode:
TFNVB_GetModuleName = function(var buf: string; var size: Integer): Integer; stdcall;

var
  iDummy: integer;
  size: integer;
  strDummy: string;
begin
  SetLength(strDummy, 256);
  iDummy := VB_GetModuleName(strDummy, size);
  if IDummy = 0 then
  begin
    LeftStr(strDummy, size);
    OutputDebugString(PChar(strDummy));
  end;
end;
In VB funktioniert der Aufruf, habe ich getestet.

Wal
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Brauche Hilfe bei Übersetzung VB - C - Delphi

  Alt 9. Aug 2008, 23:36
Hi,

schonmal mit PChar statt String probiert, und das var weg (ByVal, nicht ByRef)?

Und Integer <--> Long? Weiß ja nicht wie das in VB ist, aber es könnte auch einmal int64 gemeint sein.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Wal

Registriert seit: 22. Sep 2006
57 Beiträge
 
#3

Re: Brauche Hilfe bei Übersetzung VB - C - Delphi

  Alt 10. Aug 2008, 00:20
Zitat von FAlter:
Hi,

schonmal mit PChar statt String probiert, und das var weg (ByVal, nicht ByRef)?

Und Integer <--> Long? Weiß ja nicht wie das in VB ist, aber es könnte auch einmal int64 gemeint sein.

Mfg
FAlter
Danke,
das var vor buf war's und ich mach stundenlang rum.

Wal
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz