错误、漏洞、问题 - 页 1037

 
A100:
你的意思是,如果.dll被卸载,所有数据也会丢失?我试过了--但我没有遇到数据丢失的情况--可能在某种程度上,系统理解在某些时候不需要卸载。

我的意思是,外置变量在编译时被绑定。

DLL(和mql-library)没有和主程序一起编译,因此不能被链接。 Stringo的缺陷,原则上,在编译时应该有一个错误。它就在那里,很明显。

https://www.mql5.com/ru/docs/basis/variables/externvariables

外部变量

关键字 extern 用于 声明变量标识符为具有全局寿命的 静态内存类 标识符。 这种变量从程序执行的那一刻起就存在,在程序执行开始后立即为它们分配和初始化内存

你可以创建由多个源文件组成的程序,为此可以使用预处理器指令#include。 以相同类型和标识符声明为extern的变量可以存在于同一项目的不同源文件中。

当整个项目被编译 时,所有具有相同类型和标识符的外部变量都与全局变量的内存池的同一区域相关。外部变量对于单独编译源文件很有用。外来变量可以被初始化,但只能被初始化一次--同一类型、同一标识符的多个初始化外来变量的存在是不可接受的。

 
zfs:
变量被初始化了2次,至少要先删除这个错误,并使用新的变量进行计算。

https://www.mql5.com/ru/forum/1111/page1053#comment_570931

有编号的线。哪个文件中的哪一行--删除?

 
A100:

https://www.mql5.com/ru/forum/1111/page1053#comment_570931

有编号的线。哪个文件中的哪一行--删除?

20号线是主线,将随处可见。
 
zfs:
基本上是20号线,并将到处可见。
已删除
10 //test.mq5
20
30 #import "testLib.ex5"
40          void f();
50 #import
60 void OnStart()
70 {
80         e1 = 10;
90         f();
100 }
不能编译 e1 - 未声明的标识符,这是预期的。
 
zfs:
好像是在9月份答应你的)。

不,我不知道九月。

服务台的应用 被关闭了--他们说在下一个版本中得到了修复。在这里,在论坛上,也没有看到任何东西。

好吧,别介意--谢谢你的信息。

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
A100:
删除未编译的e1--未声明的标识符,这是预期的。

在mqh中把它拿出来,并把它连接到两个文件上。

 
zfs:

在mqh中取出并连接到两个文件

把它带出来,把它接上。

https://www.mql5.com/ru/forum/1111/page1053#comment_569138

的结果是不变的。

 
A100:

把它带出来,把它接上。

https://www.mql5.com/ru/forum/1111/page1053#comment_569138

其结果是一样的

TestLib与此有什么关系?

让我们从另一端开始。告诉我,你想得到什么结果?你想达到什么目的?逐一说明。

 
stringo:

让我们从另一端开始。告诉我,你想达到什么结果?你想达到什么目的?逐一说明。

我想要一个可以在多个.ex5模块中读取和写入的变量
 
A100:
我想得到一个可以在多个.ex5模块中读取和写入的变量
创建一个全球的。