Bonjour!
J'en utilisant des Dlls C++ en Delphi, avec des types simples des donnes ça fonctionne très bien,
même pour des arrays des types simples des donnes (integer, Extended), mais lorsque je tente utiliser des types arrays (vecteur) des types complexes des donnés cela ne fonctionné pas. voilà un exemple ci-dessous
extern "C"
{
int doProduct(TVarRec Handle[])
{
cout<<Handle[0].VInteger<<endl;
cout<<Handle[1].VInteger<<endl;
cout<<sizeof(Handle); //sizeof(Handle)=4 sizeof(Handle[0]) =72 sizeof(Handle[1]) =72 bug delphi sizeof(Handle[2]) =72 it doesn't exist
return 0;
}
}
Je m'explique, j'en train de recevoir un tableau de TVarRec à partir du Delphi, la Dll doit traitée cet tableau de TVarRec, avec mon code je vois ne que le premier élément du tableau (Handle[0].VInteger), les autres sont tous égales à zero, alors c++ n' identifie pas les autres éléments.
Vous savez comment on solutionne ce problème? à mon avis c'est un problème de la taille des donnés.
Partager