Je n'arrive pas à passer une référence
Bonsoir,
J'essaie d'utiliser la JCL pour utiliser une classe c# en .net.
J'ai trouvé du code delphi qui permet de le faire mais le problème c'est que je n'arrive pas à traduire une ligne.
Je bloque sur le code suivant :
Code:
1 2 3 4
| System::DelphiInterface<IObjectHandle> obj;
//IObjectHandle *obj;
int result = (IObjectHandle *)IUnknown(AppDomain->DefaultInterface->CreateInstanceFrom(
ExtractFilePath(Application->ExeName)+"lib.dll", "maclassecsharp", &obj)); |
A l'origine, le code devait être le suivant :
Code:
1 2 3
| //Create an instance of the dot Net class
obj := IUnknown(AppDomain.CreateInstanceFrom(
ADotNetAssemblyUnc, ADotNetClassName)) as IOBjectHandle; |
Et l'erreur :
Code:
1 2
| [BCC32 Erreur] Unit1.cpp(166): E2357 Référence initialisée avec 'IObjectHandle * *', nécessite lvalue de type '_di__ObjectHandle'
[BCC32 Erreur] Unit1.cpp(166): E2342 Mauvaise correspondance de type dans le paramètre '__CreateInstanceFrom_result' ('_di__ObjectHandle &' désiré, 'IObjectHandle * *' obtenu) |
Si je ne met pas '&' devant obj, j'obtiens :
Code:
[BCC32 Erreur] Unit1.cpp(166): E2342 Mauvaise correspondance de type dans le paramètre '__CreateInstanceFrom_result' ('_di__ObjectHandle &' désiré, '_di_IObjectHandle' obtenu)
Quelqu'un peut m'aider ?
Merci