如何从MQL4(.mq4)中的当前类获取文件名?

时间:2016-01-10 13:31:46

标签: mql4 metatrader4

为了防止一些样板代码,我想读取一个类正在执行的文件的文件名。

没有默认的 MQL4 功能,但应该可以使用原生Windows功能(来自GetModuleFileName()的{​​{1}})

来源 - https://msdn.microsoft.com/nl-nl/library/windows/desktop/ms683197(v=vs.85).aspx

我确实读过{strong> kernel32.dll #import,并从那里窃取了一些功能,但它似乎无法正常工作。

Kernel32.dll

它给我以下错误 - >

  

#import "kernel32.dll" int GetModuleFileName(); #import

它解释说,2015.01.05 00:15 Cannot find 'GetModuleFileName' in 'kernel32.dll'不在getModuleFileName

有谁知道如何获取当前文件名?

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方法..

使用以下功能

typename(this);

给出了ClassName ..这足以让我使用..

输出真实'文件名'的功能。仍然欢迎。

答案 1 :(得分:1)

当前文件名可通过__FILE__宏读取。

新建 - MQL4内置支持显示当前文件名。

支持__FILE____LINE____PATH__等人,可以实施任何需要的体内/事后代码报告工具套件。

MetaEditor文档显示了其他其他宏__FUNCSIG____MQL4BUILD__等等。