Bu numaranın birileri için nasıl işe yaradığı şaşırtıcı. İçinde böyle hatalar varken... Aşağıda CMemMapApi::Write() ArrayResize(src, size); memcpyX(src, view, size); // bytebuffer'ı aldı for(int i=0; i
Ne yazık ki FileMapping'in önemli bir dezavantajı vardır. Eğer alt uygulama (veri okuyan) herhangi bir nedenle işini doğru bir şekilde bitirmemişse ( kernel32 ::UnmapViewOfFile ve kernel32::CloseHandle çağrıları) , "dosya" açıldığı tüm süreçler kapatılana kadar bellekte asılı kalır (kernel32::OpenFileMappingW ve kernel32::MapViewOfFile çağrıları). Özellikle, boyutunu değiştiremezsiniz - yeniden açın (kapatın ve yeniden açın).
Soruna bir çözümbulamadım. Bu kütüphane ile böyle bir durumla karşılaşmak zor, çünkü içindeki her eylem açma ile başlıyor ve kapatma ile bitiyor. Bu yüzden bu kadar yavaş. Ancak yine de bu hatayla karşılaşabilirsiniz. Ve sonra MQL programı bu mesajla çökecektir.
поэтому он должен оценить x и ввести значение в ST2 для структуризации. с технической точки зрения При использовании одноуровневой индирекции ST2 x строчит имя введенного макроса но при использовании двойного слоя он строчит значение введенного макроса
Bu örneğin çalışmasını kontrol etmeye çalışıyorum https://www.mql5.com/tr/code/818
MT5 Sürüm: 5.00 yapı 5370 17 Ekim 2025 kullanıyorum.
Bazı nedenlerden dolayı memmap.mq5 dosyasını derlemeye çalışırken hata alıyorum:
memmap.mq5
MemMapLib.mqh
wrong parameters count, 4 passed, but 3 requires MemMapLib.mqh 2799
long CMemMapFile::Open(string,int,int) MemMapLib.mqh 25119
call resolves to 'long CMemMapFile::Open(string,int,int)' instead of 'long CMemMapApi::Open(string,int,int,int&)' due to new rules of method hiding MemMapLib.mqh 2799
see declaration of function 'CMemMapFile::Open' MemMapLib.mqh 25119
see declaration of function 'CMemMapApi::Open' MemMapLib.mqh 12219
wrong parameters count, 3 passed, but 1 requires MemMapLib.mqh 2929int CMemMapFile::Fill(uchar) MemMapLib.mqh 25314
call resolves to 'int CMemMapFile::Fill(uchar)' instead of 'int CMemMapApi::Fill(long,uchar,int&)' due to new rules of method hiding MemMapLib.mqh 2929
see declaration of function 'CMemMapFile::Fill' MemMapLib.mqh 25314
see declaration of function 'CMemMapApi::Fill' MemMapLib.mqh 12414
wrong parameters count, 4 passed, but 1 requires MemMapLib.mqh 29916int CMemMapFile::Grows(int) MemMapLib.mqh 25514
call resolves to 'int CMemMapFile::Grows(int)' instead of 'long CMemMapApi::Grows(long,string,int,int&)' due to new rules of method hiding MemMapLib.mqh 29916
see declaration of function 'CMemMapFile::Grows' MemMapLib.mqh 25514
see declaration of function 'CMemMapApi::Grows' MemMapLib.mqh 125193 errors, 3 warnings 33
Biri bana neyi yanlış yaptığımı söyleyebilir mi? Ve nasıl düzeltebilirim?
fxsaber #: Kütüphane kaynakları MQL5 dilinin mevcut gereksinimlerini karşılamıyor.
Bunu düzeltmenin herhangi bir yolu var mı? Yoksa tüm kaynakları yeniden işlemek gerekiyor ve yazar olmadan bunu yapmak imkansız mı? Sanırım derleyici burada sadece 3 hata üretti. Düzeltilebilirse harika olur.
Bunu düzeltmenin herhangi bir yolu var mı? Yoksa tüm kaynakları yeniden işlemek gerekiyor ve yazar olmadan bunu yapmak imkansız mı? Sanırım derleyici burada sadece 3 hata verdi. Düzeltilebilirse harika olur.
Ve burada kodu zaten kendim düzelttim. İhtiyacı olanlar kullanabilir. Uzman Danışman bununla başarılı bir şekilde derleniyor.
Bunu 251. satırdan başlayarak ekledim:
using CMemMapApi::Open;
using CMemMapApi::Close;
using CMemMapApi::Fill;
using CMemMapApi::Grows;
using CMemMapApi::Write;
using CMemMapApi::Read;
Büyük miktarlarda (gigabayt) veri aktarmak gerekiyordu. Bu kütüphane aracılığıyla uygulama, ne yazık ki, süper düşük performans gösterdi.
Orijinal DLL setini kullanarak tamamen yeniden yapmak zorunda kaldım. Hızlı bir şekilde çalıştı.
Ne yazık ki FileMapping'in önemli bir dezavantajı vardır. Eğer alt uygulama (veri okuyan) herhangi bir nedenle işini doğru bir şekilde bitirmemişse ( kernel32 ::UnmapViewOfFile ve kernel32::CloseHandle çağrıları) , "dosya" açıldığı tüm süreçler kapatılana kadar bellekte asılı kalır (kernel32::OpenFileMappingW ve kernel32::MapViewOfFile çağrıları). Özellikle, boyutunu değiştiremezsiniz - yeniden açın (kapatın ve yeniden açın).
Soruna bir çözümbulamadım. Bu kütüphane ile böyle bir durumla karşılaşmak zor, çünkü içindeki her eylem açma ile başlıyor ve kapatma ile bitiyor. Bu yüzden bu kadar yavaş. Ancak yine de bu hatayla karşılaşabilirsiniz. Ve sonra MQL programı bu mesajla çökecektir.
Bazı nedenlerden dolayı memmap.mq5 dosyasını derlemeye çalışırken hata alıyorum:
Biri bana neyi yanlış yaptığımı söyleyebilir mi? Ve nasıl düzeltebilirim?
Kütüphane kaynakları MQL5 dilinin mevcut gereksinimlerini karşılamıyor.
Bunu düzeltmenin herhangi bir yolu var mı? Yoksa tüm kaynakları yeniden işlemek gerekiyor ve yazar olmadan bunu yapmak imkansız mı? Sanırım derleyici burada sadece 3 hata üretti. Düzeltilebilirse harika olur.
Bunu düzeltmenin herhangi bir yolu var mı? Yoksa tüm kaynakları yeniden işlemek gerekiyor ve yazar olmadan bunu yapmak imkansız mı? Sanırım derleyici burada sadece 3 hata verdi. Düzeltilebilirse harika olur.
Ve burada kodu zaten kendim düzelttim. İhtiyacı olanlar kullanabilir. Uzman Danışman bununla başarılı bir şekilde derleniyor.
Bunu 251. satırdan başlayarak ekledim: