Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

AllocHGlobal <> GlobalAlloc ?

  Alt 12. Mai 2007, 05:58
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
  Mit Zitat antworten Zitat