Discussion de l'article "Guide d'écriture d'une DLL pour MQL5 en Delphi" - page 3

 

Je ne sais pas si j'ai besoin d'aide...

Dans la procédure dll de delphi 7...

procedure test1(var data : array of Double) ; stdcall ;
begin
ShowMessage('Entered ') ;

end ;

dans mt4 :

#import "gayss.dll"
void test1( double &data[] ) ;
#import

ArrayResize(data, 6) ;
data[0]= 2 ;
data[1]= 4 ;
data[2]= 8 ;
data[3]= 16 ;
data[4]= 21 ;

data[5]= 3 ;

test1(data) ;

et une erreur apparaît. 2014.02.06 17:39:04.241 stack damaged, check DLL function call in 'SOG_2014.mq4' (80,7)

Peut-être que quelqu'un sait comment le faire correctement....

 
MetaQuotes:

Un nouvel article Guide pour l'écriture d'une DLL pour MQL5 dans Delphi a été publié :

Auteur : Andrey Voytenko


Si vous travaillez avec des versions plus anciennes de Delphi, comme moi, D7, vous pouvez utiliser des fonctions de conversion ou utiliser la bibliothèque jcl, il y a de l'unicode que vous pouvez utiliser, c'est un paquet de composants gratuit, il suffit d'entrer dans sourcefoge.net et de rechercher jcl, télécharger et installer.

 
DooMGuarD:
Bonjour DooMGuarD, excellentes informations ! Merci pour le partage !
 

Bonjour Andrey, votre article est excellent, félicitations.

J'ai un doute. J'ai RAD Studio 10 Seattle. Lorsque j'entre dans "Project Options for..."(Shift + Ctrl + F11) je trouve la suivante :

Je ne trouve pas le bouton"Build with runtime packages". Je voudrais demander une recommandation sur ce que je dois faire à ce sujet. Je vous remercie de votre attention.

 

J'ai dû modifier une partie du code source.

Cependant, lorsque j'exécute le code source

 
Jorge Fernando De Los Ríos De Los Ríos:

J'ai dû modifier une partie du code source.

Cependant, lorsque j'exécute le code source

désolé, je n'avais pas lu tout l'article
 
Jorge Fernando De Los Ríos De Los Ríos:

Bonjour Andrey, votre article est excellent, félicitations.

J'ai un doute. J'ai RAD Studio 10 Seattle. Lorsque j'entre dans "Project Options for..."(Shift + Ctrl + F11) je trouve le suivant :

Je ne trouve pas le bouton"Build with runtime packages". Je voudrais demander une recommandation sur ce que je dois faire à ce sujet. Je vous remercie de votre attention.

cependant :

 
Ces codes ne fonctionnent qu'en 32 bits