Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 642

 
Alexey Viktorov:

Das Problem ist zu verstehen, was eine Include-Datei und was eine Bibliothek ist.

Der Compiler "schnappt" sich die verwendeten Teile aus der .mqh-Datei und kompiliert eine ausführbare Datei, die auch ohne die .mqh-Datei funktioniert.

Die Bibliothek muss auf allen Computern vorhanden sein, auf denen ein Programm verwendet wird, das auf die Bibliothek verweist. Das ist sehr unbequem, und nur wenige Menschen nutzen es, ich kenne sie nicht.

Ich empfehle, die Bibliotheken zu vergessen und die enthaltenen Dateien zu verstehen.

Nun, man kann darüber streiten, wer was besser kann!
 
Alexey Viktorov:

Das Problem ist zu verstehen, was eine Include-Datei und was eine Bibliothek ist.

Der Compiler "schnappt" sich die verwendeten Teile aus der .mqh-Datei und kompiliert eine ausführbare Datei, die auch ohne die .mqh-Datei funktioniert.

Die Bibliothek muss auf allen Computern vorhanden sein, auf denen ein Programm verwendet wird, das auf die Bibliothek verweist. Das ist sehr unbequem, und ich weiß nicht, wie viele Leute es benutzen.

Ich empfehle Ihnen, die Bibliotheken zu vergessen und sich mit den Include-Dateien zu beschäftigen.

Das ist genau das, worüber wir hier sprechen.

Zu diesem Zweck habe ich Dateien bereitgestellt.

Es handelt sich nicht um eine DLL, sondern um eine .MQ4(.EX4)-Datei, in der die häufig verwendeten Funktionen gespeichert sind.

Das Problem ist, dass diese Funktionen im EA-Körper ohne Probleme funktionieren,

aber wenn Sie sie in eine durch INCLUDE verbundene Datei übertragen, erhalten Sie den oben beschriebenen Fehler.

Ich sehe keinen Grund dafür.

 
Sergey Maksiutenko:

Das ist also genau das, worüber wir reden.

Zu diesem Zweck habe ich Dateien bereitgestellt.

Es handelt sich nicht um eine DLL, sondern um eine .MQ4(.EX4)-Datei, in der die häufig verwendeten Funktionen gespeichert sind.

Das Problem ist, dass diese Funktionen im EA-Körper ohne Probleme funktionieren,

aber wenn Sie sie in eine durch INCLUDE verbundene Datei übertragen, erhalten Sie den oben beschriebenen Fehler.

Ich sehe keinen Grund dafür.

Verzeihung, wollen Sie mich auf den Arm nehmen?

//+------------------------------------------------------------------+
//|                                                      my func.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"


//+++++++++++++++++++++++++++
#property strict 
//+++++++++++++++++++++++++++
#import "my_func.ex4"
int calc (int a,int b);
#import 

//+------------------------------------------------------------------+
//| defines                                                          |
//+------------------------------------------------------------------+
// #define MacrosHello   "Hello, world!"
// #define MacrosYear    2010
//+------------------------------------------------------------------+
//| DLL imports                                                      |
//+------------------------------------------------------------------+
// #import "user32.dll"
//   int      SendMessageA(int hWnd,int Msg,int wParam,int lParam);
// #import "my_expert.dll"
//   int      ExpertRecalculate(int wParam,int lParam);
// #import
//+------------------------------------------------------------------+
//| EX5 imports                                                      |
//+------------------------------------------------------------------+
// #import "stdlib.ex5"
//   string ErrorDescription(int error_code);
// #import
//+------------------------------------------------------------------+

Ich habe die Zeile absichtlich hervorgehoben, was sagt sie Ihnen? !!!!

 
Vitaly Gorbunov:

Verzeihung, wollen Sie mich auf den Arm nehmen?

Ich habe die Zeile absichtlich hervorgehoben, was sagt sie Ihnen? !!!!

#property strict 

Anweisung an den Compiler, einen speziellen strengen Fehlerprüfungsmodus anzuwenden

 
Sergey Maksiutenko:

Anweisung an den Compiler, ein spezielles strenges Fehlerprüfungssystem anzuwenden

Was ist damit gemeint?

 
Sergey Maksiutenko:

Anweisung an den Compiler, einen speziellen strengen Fehlerprüfungsmodus anzuwenden

Oben habe ich den direkten Linkhttps://docs.mql4.com/ru/mql4changes search for export angegeben.

Wenn Sie nicht wissen, wie Sie die Suche verwenden können, finden Sie!!!! so.

!!!!

Обновленный MQL4 - Справочник MQL4
Обновленный MQL4 - Справочник MQL4
  • docs.mql4.com
Начиная с билда 600 язык программирования MQL4 полностью переработан и достиг уровня MQL5 - теперь писать торговых роботов на MQL4/MQL5 можно в единой среде разработке MetaEditor и используя единые стиль, библиотеки и инструменты отладки. MQL4 пользуется заслуженной популярностью среди разработчиков автоматических торговых систем благодаря...
 

Das gilt auch für mich!!!

#property library
//+++++++++++++++++++++
#property strict
//+++++++++++++++++++++
//=========================
int calc (int a,int b)
{
int c = a + b;
return(c);
}
Verstehen Sie jetzt, wo Ihr Fehler liegt?
 
Vitaly Gorbunov:

Das gilt auch für mich!!!

Verstehen Sie jetzt, wo Ihr Fehler liegt?

Leider verstehe ich es nicht...

Bitte sagen Sie mir...

 
Sergey Maksiutenko:

Leider verstehe ich es nicht...

Bitte sagen Sie es mir.

Wenn Sie dieBibliothekseigenschaft#property meinen

Ich habe es überprüfen lassen...

Ohne sie lässt sich die Bibliotheksdatei nicht einmal kompilieren.
 

Ich werde rauchen, damit ich nicht zu hart schreibe, und versuchen, Ihnen zu erklären, was #Eigenschaft streng ist.