Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#8

AW: AllocateHWnd C#

  Alt 9. Jul 2013, 16:43
Es will zum verzweifeln nicht..
Ich komme unter .NET (Wenn die meinen Wrapper verwenden)
in meiner in Delphi geschriebenen DLL einfach nicht in die Renderproc hinein obwohl ich
über einen Timer 100% die richtige Message schicke.

Delphi-Quellcode:
procedure TimerProc(wTimerID: DWORD; Msg: DWORD;
                                     dwUser: longint;
                                     dw1: longint;
                                     dw2: longint); stdcall;
begin

  PostMessage(BB_RenderHandle, MyTimerMessage, dw1, dw2);
end;


procedure TBassBoxVis.RenderProc(var Msg: TMessage);
var
  ChanInfo: BASS_CHANNELINFO;
  i: integer;

begin

  if Msg.Msg = MyTimerMessage then
Warum funktioniert das nicht!
Jetzt habe ich mir die Mühe gemacht ein Threadsicheres AllocateHWnd einzubauen (DSiWin32/DSiAllocateHWnd)
aber es will trotzdem nicht.

Ich sehe nicht was da falsch sein soll.
Delphi-Quellcode:
  BB_RenderHandle := DSiAllocateHWnd(BassBoxVis1.RenderProc);

  if VisDataThread.VisChan <> 0 then
  begin
    if (m_lId = 0) then
    // create High Resolution Timer use mmsystem
    m_lId := timeSetEvent(25, 0, @TimerProc, BB_RenderHandle , TIME_PERIODIC);
  end;
Es muss doch möglich sein über das erstellte Window Messagen auszutauschen
Von Delphi nach Delph geht es doch auch.

gruss

Geändert von EWeiss ( 9. Jul 2013 um 16:47 Uhr)
  Mit Zitat antworten Zitat