Autor Beitrag
jholzer
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 06.08.07 08:52 
Hallo zusammen!

Ich möchte die winmm.dll anzapfen und habe da eine Reihe imports nach C# übersetzt, die ich in einem Uralten VB6-Code
gefunden habe.
Bei folgenden Methoden habe ich Problem:

ausblenden C#-Quelltext
1:
public static extern int midiInOpen(ref int lphMidiIn, int uDeviceID, int dwCallback, int dwInstance, int dwFlags);					

und
ausblenden C#-Quelltext
1:
public void MidiIN_Proc(long hmIN, long wMsg, int dwInstance, int dwParam1, int dwParam2)					

Im Code soll das dann in etwa so aussehen:
ausblenden C#-Quelltext
1:
midiInOpen(ref hMidiIN, mMPU401IN, MidiIN_Proc, 0, CALLBACK_FUNCTION);					


Die Probleme sehen so aus, dass in der dwInstance bzw dwCallback ein Zeiger auf eine Methode erwartet wird. Dummerweise habe
ich keine Ahnung, wie diese Zeiger in C# auszusehen haben. Dementsprechend gehe ich auch davon aus, dass obige Definitionen
nicht so ganz richtig sind.

Wer kann mir sagen, wie sowas aussehen soll oder hat einen Beispielcode für mich?

Danke schon mal!

J.

Moderiert von user profile iconChristian S.: Überflüssige Zeilenumbrüche entfernt, C#-Tags eingefügt
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Mo 06.08.07 09:43 
Du musst ein Delegate anlegen und dann wie im Beispiel
siehe www.pinvoke.net/sear...&namespace=[All]