Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 642

 
Alexey Viktorov:

Il problema è capire cos'è un file include e cos'è una libreria.

Il compilatore "strappa" le parti usate dal file .mqh e compila un eseguibile che funzionerà in assenza del file .mqh.

La biblioteca deve essere presente su tutti i computer che useranno un programma che fa riferimento alla biblioteca. Questo è molto scomodo e poche persone lo usano, non le conosco.

Vi consiglio di dimenticare le librerie e di capire i file inclusi.

Beh, si può discutere su chi è più comodo usare cosa!
 
Alexey Viktorov:

Il problema è capire cos'è un file include e cos'è una libreria.

Il compilatore "strappa" le parti usate dal file .mqh e compila un eseguibile che funzionerà in assenza del file .mqh.

La biblioteca deve essere presente su tutti i computer che useranno un programma che fa riferimento alla biblioteca. Questo è molto scomodo e poche persone lo usano, non so.

Vi consiglio di dimenticare le librerie e di occuparvi dei file include.

Questo è esattamente ciò di cui stiamo parlando.

Ho fornito dei file per questo scopo.

Non è una DLL, è un file .MQ4(.EX4) in cui sono memorizzate le funzioni più usate.

Il problema è che queste funzioni nel corpo dell'EA funzionano senza problemi,

ma quando li trasferite in un file collegato tramite INCLUDE, ottenete l'errore descritto sopra.

Non vedo alcuna ragione per questo.

 
Sergey Maksiutenko:

Quindi è proprio di questo che stiamo parlando.

Ho fornito dei file per questo scopo.

Questa non è una DLL, è un file .MQ4(.EX4) in cui sono memorizzate le funzioni usate frequentemente.

Il problema è che queste funzioni nel corpo dell'EA funzionano senza problemi,

ma quando li trasferite in un file collegato tramite INCLUDE, ottenete l'errore descritto sopra.

Non vedo alcuna ragione per questo.

Mi scusi, sta scherzando?

//+------------------------------------------------------------------+
//|                                                      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
//+------------------------------------------------------------------+

Ho evidenziato la linea di proposito cosa ti dice? !!!!

 
Vitaly Gorbunov:

Mi scusi, sta scherzando?

Ho evidenziato la linea di proposito cosa ti dice? !!!!

#property strict 

Indicare al compilatore di applicare una speciale modalità di controllo degli errori rigorosa

 
Sergey Maksiutenko:

Indicare al compilatore di applicare uno speciale regime di controllo degli errori rigoroso

Cosa implica questo?

 
Sergey Maksiutenko:

Indicare al compilatore di applicare una speciale modalità di controllo degli errori rigorosa

Sopra ho dato il link direttohttps://docs.mql4.com/ru/mql4changes ricerca di esportazione

Se non sai come usare la ricerca, ecco come puoi trovare!!!!

!!!!

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

Anche qui!!!

#property library
//+++++++++++++++++++++
#property strict
//+++++++++++++++++++++
//=========================
int calc (int a,int b)
{
int c = a + b;
return(c);
}
Ora vedi dove sta il tuo errore?
 
Vitaly Gorbunov:

Anche qui!!!

Ora vedi dove sta il tuo errore?

Ahimè, non capisco...

Per favore, ditemi...

 
Sergey Maksiutenko:

Ahimè, non capisco...

Per favore, ditemi.

Se intendi la proprietà dellalibreria#property

L'ho fatto controllare...

Senza di esso, il file di libreria non viene nemmeno compilato
 

Vado a fumare per non scrivere troppo duramente e cercare di spiegarvi cos'è la #proprietà rigorosa.