Hi
Ist AllocHGlobal mit GlobalAlloc gleichzusetzen ? oder besser GetMem verwenden.
Code:
IntPtr pTimedLevel = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(WMPInterop.TimedLevel)));
Marshal.StructureToPtr(TimedLvl, pTimedLevel, false);
Kommt das hin?
pTimedLvl := GlobalAlloc(GMEM_MOVEABLE, sizeof(TimedLevel));
Für die zweite zeile habe ich keine lösung.
Wie müßte ich das übersetzen ?
Dann noch ein Problem!
Delphi-Quellcode:
function BASS_WMPVIS_Render(Data: PChar; pRect: TRect): Integer; stdcall; external 'bassWmp_vis.dll';
pRect.left := 0;
pRect.top := 0;
pRect.right := Image1.Width;
pRect.bottom := Image1.Height;
Result := BASS_WMPVIS_Render(pTimedLvl, pRect);
kann machen was ich will, pRect.right und pRect.bottom kommt immer als 0 in der
DLL an
obwohl der wert mit 300, 240 übergeben wird.
Selbst als übergabe anstelle von pRect (w,h: DWORD) genau das gleiche!
gruss Emil