..... Statik sınıf üyelerinin global düzeyde açıkça başlatılmasına gerek yoktur, program yüklendiğinde otomatik olarak başlatılırlar. ......
Sınıf kodunda herhangi bir değişiklik olmadı ve daha önce böyle bir hata yoktu.
//+------------------------------------------------------------------+//| Class CCanvas |//| Usage: class for working with a dynamic resource |//+------------------------------------------------------------------+class CCanvas
{
private :
uint m_style; // line style templateuint m_style_idx; // variable - current index of bit in line style templatestaticuintm_default_colors [ 9 ]; // default colorsprotected :
Geliştirmelerimi MT4'ten MT5'e aktarmaya başladım. Yeni MQL'de ilk kez bir DLL yüklerken bir sorunla karşılaştım. İyi derler, ancak türkiye çalıştırırken. "dll açılamıyor" hatası. Artık mesaj yok. İlgili makaleleri yeniden okudum, görünen o ki her şeyi gerekli yerlere yerleştirdim: kütüphane ...\Terminals\MetaTrader 5\MQL5\Libraries dizininde
//+------------------------------------------------------------------+//| Test MySQL.mq5 |//| me |//| no |//+------------------------------------------------------------------+#property copyright"me"#property link"no"#property version"1.00"#property indicator_separate_window#import "libmysql.dll"int mysql_init( int db);
int mysql_errno( int TMYSQL);
int mysql_real_connect( int TMYSQL, string host, string user, string password, string DB, int port, int socket, int clientflag);
int mysql_real_query( int TMSQL, string query, int length);
void mysql_close( int TMSQL);
#import
int i = 0 ;
int mysql;
string query;
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit ()
{
//--- indicator buffers mappingPrint ( GetLastError ());
mysql = mysql_init(mysql);
if (mysql!= 0 ) Print ( "allocated" );
string host= "localhost" ;
string user= "root" ;
string password= "1111" ;
string DB= "fxdb" ;
int clientflag = 0 ;
int port = 3306 ;
string socket= "" ;
int res = mysql_real_connect(mysql,host,user,password,DB,port,socket,clientflag);
int err = GetLastError ();
if (res == mysql) Print ( "connected" );
elsePrint ( "error = " ,mysql, " " ,mysql_errno(mysql), " " );
//До этой строки все правильно работает.
i++;
StringConcatenate (query, "INSERT INTO " ,
//CharToStr(039),"test" ,
//CharToStr(039), " (" ,
//CharToStr(039), "ID" ,
//CharToStr(039), ", " ,
//CharToStr(039), "text" ,
//CharToStr(039), ") VALUES (" ,
CharToString ( 039 ),
DoubleToString (i, 0 ),
CharToString ( 039 ),
", " ,
CharToString ( 039 ),
"testtext" ,
CharToString ( 039 ),
")"
);
Print ( "i = " , i);
Print (query);
int length = StringLen (query);
mysql_real_query(mysql,query,length);
int myerr=mysql_errno(mysql);
if (myerr> 0 ) Print ( "error=" ,myerr); elsePrint (i, "good" );
return ( 0 );
//---return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callreturn (rates_total);
}
//+------------------------------------------------------------------+//| TradeTransaction function |//+------------------------------------------------------------------+voidOnTradeTransaction ( constMqlTradeTransaction & trans,
constMqlTradeRequest & request,
constMqlTradeResult & result)
{
//---
}
//+------------------------------------------------------------------+
..... Statik sınıf üyelerinin global düzeyde açıkça başlatılmasına gerek yoktur, program yüklendiğinde otomatik olarak başlatılırlar. ......
Önerilerimin geri kalanı, programı bu hatanın varlığında çalıştırmakla ilgili. Ara başlatma böyle bir işlevi yerine getirir, yani hatanın düzeltilmesini beklemeden çalışabilirsiniz.
Bu, bu tür durumlarda eylemlerimin tipik bir şemasıdır .
Kopyalama yolu, gezgindeki MQL5 klasörünün özellikleri alınarak MetaEditor üzerinden görülebilir, yol "Konum" sütununda belirtilir. Ardından DLL'nizi [path]\MQL5\Libraries\ klasörüne kopyalayın.
Sayın yönetim, metaquotes DEMO sunucusuyla ilgili bir şey
Dergide yazan: 2013.08.01 11:58:35ağ'1449777': MetaQuotes-Demo bağlantısı kesildi
Hesap, aşırı ticaret faaliyeti nedeniyle ticaret sunucusu tarafından yasaklandı. İşlem platformu korunur ve her tıklamada düşüncesizce ticaret talepleri gönderen hesapları devre dışı bırakır.
Kopyalama yolu, gezgindeki MQL5 klasörünün özellikleri alınarak MetaEditor üzerinden görülebilir, yol "Konum" sütununda belirtilir. Ardından DLL'nizi [path]\MQL5\Libraries\ klasörüne kopyalayın.
Evet, ama yazdığım gibi, zaten libmysql [path]\MQL5\Libraries\ dosyasını kopyaladım.
Al_key : Evet, ama yazdığım gibi, zaten libmysql [path]\MQL5\Libraries\ dosyasını kopyaladım.
Meta düzenleyiciye gidiyorum, MQL5 klasörünün özelliklerini açıyorum, genellikle terminalimin klasörüyle ilişkili olmayan bir tür yol var. Şimdi hep böyle mi yoksa ayarlanabilir mi? Evet, bu arada öyle yaptım, her şeyi kopyaladım. Hala aynı hata.
Yani, gönderinin yeni düzenlemesi. Her şey çalışıyor gibi görünüyor, bir sürü başka hata, şimdi çözeceğim. Yine de hindiler, danışmanlar ve diğer veriler için standart bir klasör nasıl yapılır. /portable tuşu yardımcı olur mu?
842/64 bit oluşturun. Bir tuval bildirirken:
bir hata:
çözümlenmemiş statik değişken 'CCanvas::m_default_colors'
Görünüşe göre herkes var.
Açıkça başlatmayı deneyin:
Her ne kadar belgelere bakılırsa, bu bir hatadır. https://www.mql5.com/ru/docs/basis/oop/staticmembers
..... Statik sınıf üyelerinin global düzeyde açıkça başlatılmasına gerek yoktur, program yüklendiğinde otomatik olarak başlatılırlar. ......
Sınıf kodunda herhangi bir değişiklik olmadı ve daha önce böyle bir hata yoktu.
Görünüşe göre herkes var.
Sınıf kodunda herhangi bir değişiklik olmadı ve daha önce böyle bir hata yoktu.
bu şekilde derlenir:
Merhaba! Sorunu çözmeye yardımcı olun.
Geliştirmelerimi MT4'ten MT5'e aktarmaya başladım. Yeni MQL'de ilk kez bir DLL yüklerken bir sorunla karşılaştım. İyi derler, ancak türkiye çalıştırırken. "dll açılamıyor" hatası. Artık mesaj yok. İlgili makaleleri yeniden okudum, görünen o ki her şeyi gerekli yerlere yerleştirdim: kütüphane ...\Terminals\MetaTrader 5\MQL5\Libraries dizininde
bu şekilde derlenir:
Evet, ama bütün bunlar neden?
Sınıf yapıcısında, bu dizi de önerdiğiniz değerlerin üzerine yazılarak yeni değerlerle başlatılır.
Genel olarak, şöyle:
hatasız derler. Ve geliştiricilerin yardıma m_default_colors girmenin anlamını açıklamalarına izin verin.Evet, ama bütün bunlar neden?
Sınıf yapıcısında, bu dizi de önerdiğiniz değerlerin üzerine yazılarak yeni değerlerle başlatılır.
Genel olarak, şöyle:
hatasız derler. Ve geliştiricilerin yardıma m_default_colors girmenin anlamını açıklamalarına izin verin.Eh, hemen bunun bir hata olduğunu söyledim. Servis masasında bununla.
Her ne kadar belgelere bakılırsa, bu bir hatadır. https://www.mql5.com/ru/docs/basis/oop/staticmembers
..... Statik sınıf üyelerinin global düzeyde açıkça başlatılmasına gerek yoktur, program yüklendiğinde otomatik olarak başlatılırlar. ......
Önerilerimin geri kalanı, programı bu hatanın varlığında çalıştırmakla ilgili. Ara başlatma böyle bir işlevi yerine getirir, yani hatanın düzeltilmesini beklemeden çalışabilirsiniz.
Bu, bu tür durumlarda eylemlerimin tipik bir şemasıdır .
MetaDriver :
Ara başlatma böyle bir işlevi yerine getirir, yani hatanın düzeltilmesini beklemeden çalışabilirsiniz.
Bu, bu gibi durumlarda eylemlerimin tipik bir şemasıdır .
Ve eylemlerim de. Teşekkür ederim.
Ve servis masası bu ileti dizisini okur ve yeniden okur, böylece düzeltirler.
Al_key :
"dll açılamıyor" hatası. Artık mesaj yok.
DLL'nizin terminalini bulamıyor.
Kopyalama yolu, gezgindeki MQL5 klasörünün özellikleri alınarak MetaEditor üzerinden görülebilir, yol "Konum" sütununda belirtilir. Ardından DLL'nizi [path]\MQL5\Libraries\ klasörüne kopyalayın.
Sayın yönetim, metaquotes DEMO sunucusuyla ilgili bir şey
Dergide yazan: 2013.08.01 11:58:35 ağ '1449777': MetaQuotes-Demo bağlantısı kesildi
DLL'nizin terminalini bulamıyor.
Kopyalama yolu, gezgindeki MQL5 klasörünün özellikleri alınarak MetaEditor üzerinden görülebilir, yol "Konum" sütununda belirtilir. Ardından DLL'nizi [path]\MQL5\Libraries\ klasörüne kopyalayın.
Evet, ama yazdığım gibi, zaten libmysql [path]\MQL5\Libraries\ dosyasını kopyaladım.
Meta düzenleyiciye gidiyorum, MQL5 klasörünün özelliklerini açıyorum, genellikle terminalimin klasörüyle ilişkili olmayan bir tür yol var. Şimdi hep böyle mi yoksa ayarlanabilir mi? Evet, bu arada öyle yaptım, her şeyi kopyaladım. Hala aynı hata.
Yani, gönderinin yeni düzenlemesi. Her şey çalışıyor gibi görünüyor, bir sürü başka hata, şimdi çözeceğim. Yine de hindiler, danışmanlar ve diğer veriler için standart bir klasör nasıl yapılır. /portable tuşu yardımcı olur mu?