Hello Gooly,
thank you for your help:
1) See attached Files
2) The FilePipe.mqh is located in the folder "MetaTrader4/MQL4/Include/Files/". "Files" is here only a subfolder in the "Include" folder. The FilePipe.mqh and the File.mqh are by default in the MetaTrader4 and are from MetaQuotes.
3) Could you explain me what you mean by "the dot in the function-name"?
Thank You
CFilePipe ExtPipe; if(ExtPipe.Open( ...
- There can be no dots in function or variable names since build 600 (February 3, 2014.) Dots are now used to access structure and class elements. Structures and Classes - MQL4 Documentation
- Functions are stand alone. Not part of a class. FileOpen - MQL4 Documentation is a function. CFilePipe is a class (no dot there.) Open() is a CFilePips class method (no dot there.)
- ExtPipe is a variable (no dot there.) ExtPips.Open(...) is a call of Open() method of the CFilePipe class, using the ExtPipe class instance. Instance dot method = instance access element.
- Learn about OOP Oriented Programming - MQL4 Documentation
- There can be no dots in function or variable names since build 600 (February 3, 2014.) Dots are now used to access structure and class elements. Structures and Classes - MQL4 Documentation
- Functions are stand alone. Not part of a class. FileOpen - MQL4 Documentation is a function. CFilePipe is a class (no dot there.) Open() is a CFilePips class method (no dot there.)
- ExtPipe is a variable (no dot there.) ExtPips.Open(...) is a call of Open() method of the CFilePipe class, using the ExtPipe class instance. Instance dot method = instance access element.
- Learn about OOP Oriented Programming - MQL4 Documentation
Hello WHRoeder I know what the dot method means. For me it was not clear what Gooly means by the 3) question.. I think Gooly means the dots in the string, but they should be no problem..
"\\\\.\\pipe\\MQL4.Pipe.MyPipeServer"
I did not find the command CreateNamedPipe anywhere in your code. How do you initialize your pipe?
Hello DeepThought,
meanwhile
I have found a library, which set up a named pipe with the kernel32.dll. This library also contains the CreateNamedPipe command.
Is it possible to use the Named Pipes without DLLs?
Hello DeepThought,
meanwhileI have found a library, which set up a named pipe with the kernel32.dll. This library also contains the CreateNamedPipe command.
Is it possible to use the Named Pipes without DLLs?
To be honest, I do not know if it can be achieved without DLL. I got tired from testing what works properly with the current IO functions and currently I rely completely on Winapi.
Regarding pipes, I use asynchronous mode (the one with the OVERLAPPED structure), because the simple synchronous mode can very easily block entire MT4Terminal in case of some unexpected event happens (which happens often during development).
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Dear Community,
sorry for the double post. I ask the question at the www.mql5.com forum, but there nobody could help me. Maybe somebody here have an answer for me.
I try using the Named Pipes to exchange data between two terminals. Unfortunately, I can not get it to work.. I've already read most of the entries in this forum regarding Named Pipes but found nothing suitable.
I can not find the error or problem in my code. I use the script "MyPipeWriter" in first terminal and the script "MyPipeReader" in the second terminal.
The function:
delivers all the time an invalid handle.
I would be very grateful if someone could give me a advice what I'm doing wrong.
Thank you for your help!