Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Struct übergabe problem

  Alt 16. Okt 2014, 11:18
Zitat:
Entspricht "BOOL" einen Delphi-32Bit-Boolean.
Ich verwende wegen der Kompatibilität ausschließlich LongBool dürfte also eigentlich kein Problem machen.
In VB6 ist True auch -1 da gibt es keine Probleme.

Zitat:
Verweist char* wirklich auf einen Ansistring (PAnsiChar).
Denke ich schon denn es wird mir das richtige Plugin übergeben.
Die Struct(exec) wird in C++ auch richtig gefüllt kommt aber in der Delphi DLL mit falschen werten an.

Zitat:
Entspricht "int" einem Delphi-32Bit-Integer.
int: 4 Bytes 32Bit

sollte stimmen.

Delphi-Quellcode:
  PBASSVIS_PARAM = ^TBASSVIS_PARAM;
  TBASSVIS_PARAM = record
    VisHandle : HVIS; // VisHandle
    VisGenWinHandle : DWORD; // General Vis Window Handle W5
    Kind : TBASSVIS_KIND_T; // Aktive Plugin Art
  end;

procedure BASSVIS_ExecutePlugin(Param: PBASSVIS_EXEC;
    var Base: TBASSVIS_PARAM
); stdcall; external dllfile;

Code:
typedef struct {
    HVIS VisHandle;         // VisHandle
    HWND VisGenWinHandle;    // General Vis Window Handle W5
    BASSVIS_KIND_T Kind;     // Plugin kind   
} BASSVIS_PARAM;

void BASSVISDEF(BASSVIS_ExecutePlugin)(BASSVIS_EXEC* Param, BASSVIS_PARAM* Base);
Danke!

gruss

Geändert von EWeiss (16. Okt 2014 um 11:26 Uhr)
  Mit Zitat antworten Zitat