New MetaTrader 4 Client Terminal Build 507: Trading Signal Registration Command and Setting a Spread When Testing - page 2

 
phi.nuts:

1. My Indicators and scripts run well, with no problem, haven't check EAs or tester.

2. Try to install MT4 outside C:\Program Files\... , for example, C:\My Other Whatever\... .


I will, but I don't really the reasoning of this kind of experiment... What difference does it make where the files are located?
 
fudge:

I will, but I don't really the reasoning of this kind of experiment... What difference does it make where the files are located?

1. UAC issues with Vista and 7, and some XP 64 bit.

2. I forgot to add, maybe your anti virus slows down your metalang.exe, so you may want to check that too.

3. Maybe you'd like to try this before installing MT4 outside C:\Program Files\... .

To see if metalang running correctly, copy metalang.exe b 507 and some .mq4 files to your desktop folder and using Run, try to compile those .mq4 files. This is to try metalang outside C:\Program Files ... .

 

phi. nuts 1. UAC is disabled for me for a long time. 2. Antivirus is off. 3. Different directory is not working, but: 

 

I thin I was able to pinpoint the problem. 

It's related in some way to include files, and maybe in some way to imports from DLL files where exists in those include files. 

What happens is that when I change the order of include files in the main.mql file everything starts to work. When I change it back, the indicator is not working and crashes the metatrader.  As far as I know, the order of include files shouldn't affect anything. Am I right?

Another thing that I've notices is that, right before crashing, if the indicator is already to attached to some chart (when mt4 starts, or after a compile), the DebugOutputString shows the following message where 8684 is the pid of mt4.

 [8684][Sun Jun 23 12:59:28 2013] Invalid parameter passed to C runtime function.

If the indicator wasn't attached to any chart and I try to attach it, it just fails.

 

Looks like a real bug in the new compiler ... Guys, try to compile sophisticated indicators that have include files and DLL imports.

 
fudge:


Sorry, but my code is confidential. I can't post it. It's my own code, not decompiled code or anything. It compiles using build 500 and works (only test now since markets are closed) on build 507 without any problem.

RaptorUK, were you able to compile code with the new build?

Yes,  some code compiled but some other code did not . . .  if you don't want to post some snippets of code,  not all your code,  then you make it almost impossible to help you.  Perhaps you think I should post my code that doesn't compile ?
 
RaptorUK:
Yes,  some code compiled but some other code did not . . .  if you don't want to post some snippets of code,  not all your code,  then you make it almost impossible to help you.  Perhaps you think I should post my code that doesn't compile ?


No, I think that people shouldn't post their code as long as the problem is probably with the compiler and not the code itself, which seems to be the case here.

So you can confirm as well that there is a problem with the new compiler? No reason that existing code will stop compiling, correct?

 
fudge:


No, I think that people shouldn't post their code as long as the problem is probably with the compiler and not the code itself, which seems to be the case here.

So you can confirm as well that there is a problem with the new compiler? No reason that existing code will stop compiling, correct?

So you just want to complain and not understand the issue ?  I prefer to understand the issue so I can report it via the Service Desk and get an efficient fix.  So what is the cause ?   include files ? DLLs ?  or something else ?  I don't use include files or DLLs in my recent code that won't compile,  please explain ?
 
Try compiling the file with MT4 shut down . . .
 
fudge:


No, I think that people shouldn't post their code as long as the problem is probably with the compiler and not the code itself, which seems to be the case here.

So you can confirm as well that there is a problem with the new compiler? No reason that existing code will stop compiling, correct?

1. I have no problem compiling CI with C++ dll.

2. Do you have something like this :

#property inmport_library

Try to remove it and see if that solve the problem.

3. Is there any of your mql4 that does not importing anything, that compile correctly and running ?   

4.

fudge

It's related in some way to include files, and maybe in some way to imports from DLL files where exists in those include files. 

What happens is that when I change the order of include files in the main.mql file everything starts to work. When I change it back, the indicator is not working and crashes the metatrader.  As far as I know, the order of include files shouldn't affect anything. Am I right?

Can you post just the order of include list, which order is working and which one that does not ?

 

Raptor, I am giving a lot of information here without showing my confidential code. It's not related to specific sinppest or different parts of code. No reason to be mad. 

You say that your code is not compiled or not running. What compilation errors are you getting? Mine is compiling, but not working. Did you check the debugger, maybe you see the same error as I do (I use HooWinTail for it). 

All I have now is that a specific order of include files (that do include DLL imports, but not sure that it's related), crashes MT4/block indicator from loading. Since the order of include files shouldn't be an issue, but only reported as a warning by the compiler, I conclude that this is a bug in the compiler.

 

I am not the only one that has problems with the new compiler, Metaquotes dudes, should pick this is up quickly before the market opens tomorrow. 

 

phi.nuts,

2. Don't have it.

3. Yes, files with no include compile and work.

4. Those are my include files, so let's call them a.mqh and dll.mqh.

Case 1:

a.mqh includes dll.mqh

In the main1.mql files the following order works: 

#include <a.mqh>
#include <dll.mqh>

 The following causes a crash:

#include <dll.mqh>
#include <a.mqh>

Case 2:

 In main2.mql only dll.mqh is included and code doens't work, but when I include a.mqh above dll.mqh, the code starts to work, although a.mqh is completely not needed for main.mqh.