c++ void übersetzen

12/08/2008 - 16:59 von Stefan Simon | Report spam
Hallo,

eine function einer c++ dll zeichnet etwas auf ein Geràt, das ich mit einem
Handle angeben muss. Allerdings bekomme ich eine AccessViolationException
(Es wurde versucht, in geschütztem Speicher zu lesen oder zu schreiben).

Hier mein Versuch, die dll zu implementieren:

\\\
'void DrawSeaData(CDC* pDC, LPRECT rect, time_t reftime, int hour, int
details,
' float xscale, float yscale, float xoff,
float yoff);
<DllImport("MeteoTools")> _
Private Shared Sub DrawSeaData(ByVal hDC As IntPtr, _
ByVal rect As RECT, _
ByVal reftime As Date, _
ByVal hour As Int32, _
ByVal details As Int32, _
ByVal xscale As Single, _
ByVal yscale As Single, _
ByVal xoff As Single, _
ByVal yoff As Single)
End Sub



Dim bmp As New Bitmap(800, 600)
Dim g As Graphics = Graphics.FromImage(bmp)
Dim hdc As IntPtr = g.GetHdc

DrawSeaData(hdc, rect, reftime, hour, LAY_WIND, xscale, yscale, xoff,
yoff)
///

Ich vermute, das liegt an dem Geràtehandle, aber ich habe nichts gefunden,
wie man es anders/besser machen sollte.

Hat jemand einen Vorschlag?

tia,
Stefan
 

Lesen sie die antworten

#1 Martin H.
12/08/2008 - 17:59 | Warnen spam
Hallo Stefan,

ich vermute mal, daß in C++ die Datentypen nicht die gleiche Größe wie
in .NET haben.

Also z.B. hour As Short umgesetzt werden muß.

Beste Grüße,

Martin

On 12.08.2008 22:59, Stefan Simon wrote:
Hallo,

eine function einer c++ dll zeichnet etwas auf ein Geràt, das ich mit einem
Handle angeben muss. Allerdings bekomme ich eine AccessViolationException
(Es wurde versucht, in geschütztem Speicher zu lesen oder zu schreiben).

Hier mein Versuch, die dll zu implementieren:

\\\
'void DrawSeaData(CDC* pDC, LPRECT rect, time_t reftime, int hour, int
details,
' float xscale, float yscale, float xoff,
float yoff);
<DllImport("MeteoTools")> _
Private Shared Sub DrawSeaData(ByVal hDC As IntPtr, _
ByVal rect As RECT, _
ByVal reftime As Date, _
ByVal hour As Int32, _
ByVal details As Int32, _
ByVal xscale As Single, _
ByVal yscale As Single, _
ByVal xoff As Single, _
ByVal yoff As Single)
End Sub



Dim bmp As New Bitmap(800, 600)
Dim g As Graphics = Graphics.FromImage(bmp)
Dim hdc As IntPtr = g.GetHdc

DrawSeaData(hdc, rect, reftime, hour, LAY_WIND, xscale, yscale, xoff,
yoff)
///

Ich vermute, das liegt an dem Geràtehandle, aber ich habe nichts gefunden,
wie man es anders/besser machen sollte.

Hat jemand einen Vorschlag?

tia,
Stefan

Ähnliche fragen