Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 24.04.21
Benutzerbild von RalphD
RalphD RalphD ist offline
Neues Mitglied
 
Registriert seit: Jul 2019
Beiträge: 24
RalphD befindet sich auf einem aufstrebenden Ast
Standard Probleme mit #import

Hallo zusammen,

nachdem ich dieses Video (https://www.youtube.com/watch?v=SeGr46-1tsA) vo Raimund Bauer gesehen habe, dachte ich meine Problem gelöst zu haben. Ich wollte eine Datei zur Lizenzabfrage an den Kunden geben ohne bei jedem Update alles was die Lizenzierung betrifft neu zu machen. Das klappte auch mit dem Beispiel zur vollen Zufriedenheit. Ich habe alles nachgebaut und es funktioniert einwandfrei.
Doch als ich die #import Funktion in meinen Code eigefügt habe, wurde .ex4 ignoriert. Ohne Überprüfung der Lizenz wurde der EA gestartet. Ich verstehe es nicht. Hinzu kommt, dass bei dem Beispiel nach start des EA in den Eigenschaften Abhängigkeiten angezeigt werden. Diese fehlen bei meinem EA komplett. Woran liegt das?
Kann mir da jemand weiterhelfen? ich habe mir schon den Wolf gesucht im Netz. Ergebnis = 0. Als wenn niemand diese #import nutzt.

Ich bin für jeden Tipp dankbar. Evtl hat ja jemand auch einen anderen Lösungsweg.

Vielen Dank im voraus.
Ralph

Hier der EA
HTML-Code:
#property version       "1.00"
#property strict
//+------------------------------------------------------------------+
//  https://www.youtube.com/watch?v=SeGr46-1tsA
//+------------------------------------------------------------------+
#import "Licence.ex4"
bool IsCorrectLicenseEA(int myAccountNumber);
#import
int test;
int OnInit() {
   Print(IsCorrectLicenseEA(AccountNumber()));

   return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason) {
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {

Comment (" Die Kontonummer ist: ", IsCorrectLicenseEA(AccountNumber()));

}
//+------------------------------------------------------------------+
und hier die Lizenzdatei
HTML-Code:
#property library
#property strict
//+------------------------------------------------------------------+
//  https://www.youtube.com/watch?v=SeGr46-1tsA
//+------------------------------------------------------------------+
bool IsCorrectLicenseEA(int myAccountNumber)export{

   static bool accountNumberOk;

   if (AccountNumber() == 2015477) {
      accountNumberOk = true;
      Print ("+++ Kontonummer ist richtig +++");
   }
   if (AccountNumber() != 999036403) {
      accountNumberOk = false;
      Print ("--- Kontonummer ist falsch ---");
      Alert ("--- Kontonummer ist falsch ---");
      ExpertRemove();
   }
   return accountNumberOk;
}
//+------------------------------------------------------------------+

Geändert von RalphD (24.04.21 um 23:48 Uhr)