Bonjour, j'essaie d'adapter un code C++ en delphi, c'est un code pour un objet com.
Première question:
J'ai traduit ce code en c++:
1 2 3 4 5 6
|
IApplication* pApp = NULL;
hr = CoCreateInstance( clsid, NULL, CLSCTX_ALL, idIapp,(LPVOID*)&pApp );
IEngine* pEng;
hr = pApp->CreateEngine( kCrnEngIdMain, &pEng ); |
par
1 2 3 4 5 6
|
pApp :=nil ;
hr := CoCreateInstance( clsid, nil, CLSCTX_ALL,idIapp, pApp );
pEng:=nil;
hr:= pApp.CreateEngine(kCrnEngIdMain,pEng); |
pApp etant déclaré ainsi : pApp:IApplication et pEng:IEngine
Au debut j'avais declaré pApp ainsi: pApp:^IApplication
mais j'obtenais une exception lors de l'appel de pApp^.CreateEngine.
Quelqu'un peut me confirmer que je m'emmêle pas dans les conversions de pointeurs ?
Seconde question
Il faut bien sur que je convertisse les interfaces, est ce que
1 2 3
| virtual HRESULT __stdcall CreateEngine (
/*[in]*/ long EngId,
/*[out,retval]*/ struct IEngine * * pTask ) = 0; |
devient bien en delphi
function CreateEngine(EngId: Integer; out Engine:IEngine): HResult;safecall;
Merci d'avance
Partager