文章 "用 Delphi 为 MQL5 编写 DLL 指南" - 页 3

 

帮助任何人谁可以...

在 delphi 7 dll 程序中...

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

结束;

在 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);

并弹出一个错误。2014.02.06 17:39:04.241 堆栈损坏,检查 'SOG_2014.mq4' 中的 DLL函数调用(80,7)

也许有人知道如何正确操作....

 
MetaQuotes:

新文章《在 Delphi 中为 MQL5 编写 DLL 指南》 已发布:

作者: Andrey VoytenkoAndrey Voytenko


如果您使用的是旧版本的 Delphi,比如我的 D7,您可以使用转换函数或使用 jcl 库,那里有 unicode 供您使用,它是一个免费的组件包,只需输入 sourcefoge.net 并搜索 jcl 下载并安装即可。

 
DooMGuarD:
嗨,DooMGuarD,很棒的信息!感谢您的分享!
 

你好,安德烈,你的文章非常出色,祝贺你。

我有一个疑问。我有 RAD Studio 10 西雅图版。当我进入 "Project Options for..." 项目选项)(Shift + Ctrl + F11) ,我发现了下一个选项:

我没有找到"使用运行时软件包构建"复选按钮。我想请您就 "我该怎么办?感谢您的关注。

 

我不得不更改部分代码源。

但是,当我运行源代码时

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

我不得不更改部分代码源。

但是,当我运行源代码时

对不起,我没有读完这篇文章
 
Jorge Fernando De Los Ríos De Los Ríos:

你好,安德烈,你的文章非常出色,祝贺你。

我有一个疑问。我使用的是 RAD Studio 10 西雅图版。当我进入 "Project Options for..." 项目选项)(Shift + Ctrl + F11) ,我发现了下一个选项:

我没有找到"使用运行时软件包构建"复选按钮。我想请您就 "我该怎么办?感谢您的关注。

无论如何

 
这些代码只能以 32 位运行