AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konvertierung c++ zu delphi

Ein Thema von Drag0n · begonnen am 16. Feb 2011 · letzter Beitrag vom 17. Feb 2011
Antwort Antwort
Drag0n

Registriert seit: 15. Okt 2008
4 Beiträge
 
#1

Konvertierung c++ zu delphi

  Alt 16. Feb 2011, 14:43
Hallo zusammen

hab ein kleines problem bei dem einbinden einer usbcam.dll aus c++ in delphi.
Ich hoffe mir kann jemand helfen.

Code:
typedef int (WINAPI *SetCallback)(IN INT nCamIndex,IN INT nMode,IN LONG (CALLBACK *pCallbackFunc)(BYTE *pBuf, LONG lBufferSize, PVOID pContext),IN VOID *pCBContext);

typedef SetCallback PSetCallback;
das ganze in delphi
Delphi-Quellcode:
TCallback=function(pbuf:pbyte;lBufferSize:long;pContext:pointer):long;stdcall;
SetCallBack=function(nCamIndex,nMode:integer;pCallbackFunc:TCallback;pCBContext:pointer):Integer;stdcall;
die callbackfunction mit dem aufruf

Code:
long CALLBACK MyCallbackFunc(BYTE * pBuffer, long lBufferSize,PVOID pContext )
{
 //gibt image aus
}

nStat=SetCallback(0,1,MyCallbackFunc,NULL);
und das ganze in delphi:

Delphi-Quellcode:
function MyCallbackfunc(pBuffer:pbyte;lBufferSize:long;pContext:pointer):long;
begin
  //gibt image aus
end;

nstat:=SetCallback(0,1,@MyCallBackFunc,Nil);
das problem ist jetzt das in der Mycallbackfunc die parameter pBuffer und lBufferSize Nil bzw 0 sind die aber eigentlich den buffer von einem bild + den buffersize enthalten müsten.

Ich scheine da einen fehler in der Konvertierung zu haben.
Nach einigem nachlesen habe ich gefunden das die Callback funktion nicht in einer Klasse sein darf weil sonst der funktionspointer anders ist aber das hat nicht geholfen.

Ich hoffe jemand sieht oder kennt das problem.

Geändert von Drag0n (16. Feb 2011 um 14:46 Uhr)
  Mit Zitat antworten Zitat
Drag0n

Registriert seit: 15. Okt 2008
4 Beiträge
 
#2

AW: Konvertierung c++ zu delphi

  Alt 17. Feb 2011, 07:10
Schade das mir so schnell keiner helfen konnte aber hab das problem nach langem suchen endlich gefunden.

Delphi-Quellcode:
function MyCallbackfunc(pBuffer:pbyte;lBufferSize:long;pContext:pointer):long; stdcall;
begin
  //gibt image aus
end;
die funktion als stdcall und ausserhalb einer klasse dann werden die richtigen parameter übergeben.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz