Geliştiriciler! Oluşturduğunuz şeyi hiç test ediyor musunuz? - sayfa 15

 

Sevgili geliştiriciler! Yayınladığınız şeyi gerçekten test ediyor musunuz?

Bilgisayarıma Windows 8.1 64 bit - lisanslı kurdum. Ve sonra sorunlar başladı. Önce makineye Metatrader 4'ü C:\Program Files (x86) içine kurdum. Dosya yazmaya çalışırken sorunlar başladı. Görünüşe göre, bu Windows bok güvenliği ifadesi için üzgünüm arttı ve bilgisayarın tek kullanıcısı ve yöneticisi olarak, "Yönetici adına" seçeneğini tıklayana kadar sistem dizininde hiçbir şey yapamam. Forumu okuduktan sonra Metatrader 4'ü Program Files'a (x86) değil, MT4'ü kaldırdıktan sonra C sürücüsünde bunun için özel olarak oluşturulmuş başka bir klasöre yeniden yüklemeye karar verdim. Orada değildi. Kaldırıcı, bunu yapma hakkınız olmadığını söyledi. Buna şaşırdım ve hala kaldırmak için derimden çıktım. Ne yapmadı. Ve yönetici adına ve Güvenlik bölümündeki herkesin herhangi bir işlem yapmasına izin vererek. Hatta Windows'u yeniden kurdum. Toplamda neredeyse 2 günümü aldı. Ve aynı zamanda deneyimli tanıdıklara onunla ne yapacağını danış. Sonra yanlışlıkla İngilizce MT forumunda Win XP SP3 için uyumluluk modunu ayarlamanız ve kutuyu işaretlemeniz gereken küçük bir mesaj buldum - yönetici adına işlemleri gerçekleştirin. Ardından, yalnızca yöneticinin adı altında terminal kaldırıldı. Rahat bir nefes aldım.

Sonra Metatrader 5'i kurmaya karar verdim. Zaten sistem dizinine kurmanın tehlikeli olduğunu bilerek, onu C sürücüsünde özel olarak oluşturulmuş bir klasöre kurdum. Nedense, yükleyici 64'ü kurmak isteyip istemediğimi sormadı. -bit sürümü ve olduğu gibi, zorla yüklenen MT5 64-bit. Onunla çalışmayı denedim. Göstergeler oluşturmak , dosya yazmak ve DLL'yi dahil etmeye çalışmak gibi bazı işler yaptıktan sonra, kurulum dizininde Dosyalar ve Kitaplıklar klasörlerinin eksik olduğunu gördüm. Eh, onları manuel olarak yarattım. Ancak ne dosyalar, ne DLL, ne de Code Base'den indirilen örnekler oluşturulmadı veya derleme için çağrılmadı. Nedenini bulmak için uzun zaman ve sinirler harcadı. Sonra TerminalPath'i yorumladım - tüm bunlar nerede kayboluyor? C:\Users\...\AppData klasöründe olduğu ortaya çıktı. Onu bulmaya çalıştım - şans yok. O hiç müsait değildi. Sonra bir şekilde onun saklandığını tahmin ettim. Ve internette gizli klasörlerin görüntülenmesine nasıl izin verileceğini buldum. Evet, gerekli tüm klasörler ve dosyalar C:\Users\...\AppData\Roaming\MetaQuotes\Terminal konumundaydı. Gereksiz sorun olmaması için özellikle sistem dizinlerinden kaçındım. Hayır, sonuçta yükleyici yarattı. Yani basit bir kullanıcının ben bu klasörlere gelmeden benim yaptığımı yapamayacağını anlıyorsunuz.

Sonra DLL'yi dahil etmeye çalıştım. Bir tankta olduğu gibi sağır - onu görmüyor, nereye itmesem de onu görmüyor. VS2013 Descktop'ta C++'da oluşturulmuş olmasına rağmen, en son sürümdü ve MT4'te sorunsuz çalıştı. "10 Dakikada DLL Nasıl Yazılır" makalesindeki örneğe baktıktan sonra bir yarım geceyi daha bir aptal gibi bağlanmaya çalışarak geçirdim. Ve ne yapmadım ki. Ardından, yolları değiştirdikten sonra, terminal yine de onu gördü ve 64-bit DLL olmadığını ve onu bağlamadığını abonelikten çıkardı. Elbette tüm örneklerde DLL'lerin Win32 uygulaması olarak oluşturulduğunu ve 64 bit oluşturmayacaklarını anladım. Peki, sonra ne yapmalı? MT5 - 32 bit üzerinde deneme yapmaya karar verdim. Ancak yükleyici bunu yapmama izin vermedi ve zorla 64 bit kurdu. Sonra yanlışlıkla MT5 32bit'i komut satırından ...\mt5setup.exe /32 yükleyebileceğiniz ve son olarak 32bit sürümünü yükleyebileceğiniz foruma rastladım. Bağlı DLL-ki - her şey mükemmel bir şekilde kazanıldı. 64 bit sürümün, sorunlu bir uygulama olarak kaldırılması gerekiyordu.

Her şeyi özellikle o kadar ayrıntılı anlattım ki geliştiriciler kullanıcının yerine geçmeye çalışsın.

Soru. Neden, sistem dizinine yükleme yapmamama rağmen, yükleyici hala her şeyi erişemediğim gizli paketlere koyuyor, en azından Kod Tabanından indirilen göstergeleri veya komut dosyalarını oraya koymak için. Ve Dosyalar klasörüne ulaşamadım, çalışmanın bazı sonuçlarını nereye yazabilirim? Dürüst olmak gerekirse, MT5'i tüm bu problemlerle, ifade için üzgünüm - zamanın vampirizmi ve sinir enerjisi ve kusurları ile göndermek için duygusal bir dürtü vardı. Ama bir şekilde dayanmayı başardı.

Ve ikinci soru. 64-bit terminali onsuz öldüğü için 64-bit sürümde 32-bit DLL'leri bağlama olasılığını mı sağlaması gerekiyor?

Pekala, bir soru daha. Sorunsuz bir şekilde 64-bit oluşturuldukları için DLL'yi C#'dan bağlamayı mümkün kılacak mı?

Ve ilerisi. Microsoft, ana programlama dili olarak C++'ı C# ile değiştirmek için neredeyse şiddetli bir girişimde bulunuyor. En son VS2013'te, formlarla çalışma yükleme özelliğini bile kaldırdılar ve forumda "neden?" sorusuna "neden daha gelişmiş C# denemiyorsunuz?" sorusuyla yanıt veriliyor. Sonra gelecekte ortaya çıkıyor ki C++ 2. plana geçebilir, hatta uzaklaşabilir. C# dil tabanlı yeni bir terminal mi yapması gerekiyor?

 
ANG3110 :

Sonra Metatrader 5'i kurmaya karar verdim. Zaten sistem dizinine kurmanın tehlikeli olduğunu bilerek, onu C sürücüsünde özel olarak oluşturulmuş bir klasöre kurdum. Nedense, yükleyici 64'ü kurmak isteyip istemediğimi sormadı. -bit sürümü ve olduğu gibi, zorla yüklenen MT5 64-bit. Onunla çalışmayı denedim. Göstergeler oluşturmak , dosya yazmak ve DLL'yi dahil etmeye çalışmak gibi bazı işler yaptıktan sonra, kurulum dizininde Dosyalar ve Kitaplıklar klasörlerinin eksik olduğunu gördüm. Eh, onları manuel olarak yarattım. Ancak ne dosyalar, ne DLL, ne de Kod Tabanından indirilen örnekler bile oluşturulmadı veya derleme için çağrılmadı. Nedenini bulmak için uzun zaman ve sinirler harcadı. Sonra TerminalPath'i yorumladım - tüm bunlar nerede kayboluyor? C:\Users\...\AppData klasöründe olduğu ortaya çıktı. Onu bulmaya çalıştım - şans yok. O hiç müsait değildi. Sonra bir şekilde onun saklandığını tahmin ettim. Ve internette gizli klasörlerin görüntülenmesine nasıl izin verileceğini buldum. Evet, gerekli tüm klasörler ve dosyalar C:\Users\...\AppData\Roaming\MetaQuotes\Terminal konumundaydı. Gereksiz sorun olmaması için özellikle sistem dizinlerinden kaçındım. Hayır, sonuçta yükleyici yarattı. Yani basit bir kullanıcının ben bu klasörlere gelmeden benim yaptığımı yapamayacağını anlıyorsunuz.


64 bit terminal kurduktan sonra hemen açmanıza gerek yoktur, önce bir kısayol oluşturmanız gerekir ve nesneye anahtar / taşınabilir atanan özelliklerde

şöyle bir şey: D:\MT5\terminal64.exe /taşınabilir

o zaman sahip olacağınız tüm klasörler kimin nerede olduğunu değil, özellikle terminalinizin klasöründe görünecek

 
Olegts :

şöyle bir şey: D:\MT5\terminal64.exe /taşınabilir

o zaman sahip olacağınız tüm klasörler kimin nerede olduğunu değil, özellikle terminalinizin klasöründe görünecek

ve ayrıca editör için

ve ayrıca kayıt defterindeki her yerde mql dosyalarını çift tıklatarak açın.

 
sergeev :

ve ayrıca editör için

ve ayrıca kayıt defterindeki her yerde mql dosyalarını çift tıklatarak açın.

moderatör müsün nesin

Birinin bir sorunu vardı, kısmen nasıl çözüleceğini önerdim, neden alaycılığınız?

 
Olegts :

moderatör müsün nesin

Birinin bir sorunu vardı, kısmen nasıl çözüleceğini önerdim, neden alaycılığınız?

Çocukken moderatörlerden korkar mıydınız? ne kaynatıp içine koşuyorsun?

Eksik cevabınızı genişlettim.

"Kısmen" olarak tavsiye ettiğinizi kendiniz yazarsınız. neden yarım önlemlere ihtiyacı var?

 
sergeev :

Çocukken moderatörlerden korkar mıydınız? ne kaynatıp içine koşuyorsun?

Eksik cevabınızı genişlettim.

"Kısmen" olarak tavsiye ettiğinizi kendiniz yazarsınız. neden yarım önlemlere ihtiyacı var?

Şahsen ben laptopsuz çalışmıyorum. Yaklaşık 20 terminalin olduğu ayrı bir klasörüm var ve MQL5 ve diğer klasörlerin nerede olduğunu tam olarak biliyorum ve nerede olduğu belli değil. Kişi, küçük-yumuşak olanların 8.1 adlı mucizesiyle kendisine kurdukları bir tırmıkla çarpıştı ve suçun metakotalar olduğuna karar verdi. Üstünlüğünü göstermek için değil, yardıma ihtiyacı var.

 
Ve neden kısayolda terminalin yolu belirtilmemiş? Eh, bu Bill Gates direk vermek, ona yumurta atmaları boşuna değil).
 
Olegts :

Şahsen ben laptopsuz çalışmıyorum. ayrı bir klasörüm var

Vidada birkaç konserim ve üzerlerinde FAT32 var. Taşınabilir bir cihaza bile ihtiyacınız yok.

 
ANG3110 :

Sevgili geliştiriciler! Yayınladığınız şeyi gerçekten test ediyor musunuz?

Test yapmak. Ve bunu zaten on üç yıldır alenen yapıyoruz.


Bilgisayarıma Windows 8.1 64 bit - lisanslı kurdum. Ve sonra sorunlar başladı. Önce makineye Metatrader 4'ü C:\Program Files (x86) içine kurdum. Dosya yazmaya çalışırken sorunlar başladı. Görünüşe göre, bu Windows bok güvenliği ifadesi için üzgünüm arttı ve bilgisayarın tek kullanıcısı ve yöneticisi olarak, "Yönetici adına" seçeneğini tıklayana kadar sistem dizininde hiçbir şey yapamam. Forumu okuduktan sonra Metatrader 4'ü Program Files'a (x86) değil, MT4'ü kaldırdıktan sonra C sürücüsünde bunun için özel olarak oluşturulmuş başka bir klasöre yeniden yüklemeye karar verdim. Orada değildi. Kaldırıcı, bunu yapma hakkınız olmadığını söyledi. Buna şaşırdım ve hala kaldırmak için derimden çıktım. Ne yapmadı. Ve yönetici adına ve Güvenlik bölümündeki herkesin herhangi bir işlem yapmasına izin vererek. Hatta Windows'u yeniden kurdum. Toplamda neredeyse 2 günümü aldı. Ve aynı zamanda deneyimli tanıdıklara onunla ne yapacağını danış. Sonra yanlışlıkla İngilizce MT forumunda Win XP SP3 için uyumluluk modunu ayarlamanız ve kutuyu işaretlemeniz gereken küçük bir mesaj buldum - yönetici adına işlemleri gerçekleştirin. Ardından, yalnızca yöneticinin adı altında terminal kaldırıldı. Rahat bir nefes aldım.

Windows 8'e iyi adapte edilmemiş eski programların olağan sorunuyla karşı karşıyasınız. Yani sorun işletim sisteminin güvenlik sisteminde. Evet, Windows 8'deki Microsoft gerçekten herkesi duvara yaslıyor ve artık istediğiniz yerde veri yazmanıza ve depolamanıza izin vermiyor.

Bu tür sorunları çözmek için MetaTrader 5'te olduğu gibi modern bir veri depolama modeli kullanan yeni MetaTrader 4'ü yayınlıyoruz.


Sonra Metatrader 5'i kurmaya karar verdim. Ne koyacağımı bilmek

sistem dizini tehlikeli, onu C sürücüsünde özel olarak oluşturulmuş bir klasöre kurdum. Nedense, yükleyici 64-bit sürümünü yüklemek isteyip istemediğimi sormadı ve olduğu gibi, MT5 64-bit'i zorla yükledim. Onunla çalışmayı denedim. Göstergeler oluşturmak , dosya yazmak ve DLL'yi dahil etmeye çalışmak gibi bazı işler yaptıktan sonra, kurulum dizininde Dosyalar ve Kitaplıklar klasörlerinin eksik olduğunu gördüm. Eh, onları manuel olarak yarattım. Ancak ne dosyalar, ne DLL, ne de Kod Tabanından indirilen örnekler oluşturulmadı veya derleme için çağrılmadı. Nedenini bulmak için uzun zaman ve sinirler harcadı. Sonra TerminalPath'i yorumladım - tüm bunlar nerede kayboluyor? C:\Users\...\AppData klasöründe olduğu ortaya çıktı. Onu bulmaya çalıştım - şans yok. O hiç müsait değildi. Sonra bir şekilde onun saklandığını tahmin ettim. Ve internette gizli klasörlerin görüntülenmesine nasıl izin verileceğini buldum. Evet, gerekli tüm klasörler ve dosyalar C:\Users\...\AppData\Roaming\MetaQuotes\Terminal konumundaydı. Gereksiz sorun olmaması için özellikle sistem dizinlerinden kaçındım. Hayır, sonuçta yükleyici yarattı. Yani ben bu klasörlere gelmeden benim yaptığımı basit bir kullanıcının yapamayacağını anlıyorsunuz.

Bu şekilde tartışır, eleştirir ve geliştiricilere tavsiyelerde bulunursunuz ama aynı zamanda Windows güvenlik sisteminin temel kurallarını da bilmiyorsunuz. Her şey, işletim sistemi Program Dosyalarına daha fazla yazma hakkı vermiyor. Önerilen depolama konumu yalnızca AppData'dadır.

Normal çalışıyorsanız, her şey yolundadır - tüm veriler yerinde ve çalışma dizinleri Dosya -> Veri Dizinini Aç'ta mevcuttur.


Sonra DLL'yi dahil etmeye çalıştım. Bir tankta olduğu gibi sağır - onu görmüyor, nereye itmesem de onu görmüyor. VS2013 Descktop'ta C++'da oluşturulmuş olmasına rağmen, en son sürümdü ve MT4'te sorunsuz çalıştı. "10 Dakikada DLL Nasıl Yazılır" makalesindeki örneğe baktıktan sonra, aptal gibi bir yarım geceyi daha bağlanmaya çalışarak geçirdim. Ve ne yapmadım ki. Ardından, yolları değiştirdikten sonra, terminal yine de onu gördü ve 64-bit DLL olmadığını ve onu bağlamadığını abonelikten çıkardı. Elbette tüm örneklerde DLL'lerin Win32 uygulaması olarak oluşturulduğunu ve 64 bit oluşturmayacaklarını anladım. Peki, sonra ne yapmalı? MT5 - 32 bit üzerinde deneme yapmaya karar verdim. Ancak yükleyici bunu yapmama izin vermedi ve zorla 64 bit kurdu. Sonra yanlışlıkla MT5 32bit'i komut satırından ...\mt5setup.exe /32 yükleyebileceğiniz ve son olarak 32bit sürümünü yükleyebileceğiniz foruma rastladım. Bağlı DLL-ki - her şey mükemmel bir şekilde kazanıldı. 64 bit sürümün, sorunlu bir uygulama olarak kaldırılması gerekiyordu.

Bu sizin DLL'nizse, 64 bit modunda yeniden derleyin.

Kafanızı duvara vurmanıza ve 32 bit kitaplıkların 64 bit programlarda çalışabileceğini veya çalışması gerektiğini düşünmenize gerek yok. Bu size komşu bir forumda zaten açıklandı, ancak anlamamış gibi davranmaya devam ediyorsunuz.

Her şeyi özellikle o kadar ayrıntılı anlattım ki geliştiriciler kullanıcının yerine geçmeye çalışsın.

Ne yazık ki, hayallerinizi detaylandırmışsınız. İddiaya göre bir programcının sözleri (DLL, dizinler, programlar) ama aslında temel şeyleri bilmiyorsunuz.

Soru. Neden, sistem dizinine yükleme yapmamama rağmen, yükleyici hala her şeyi erişemediğim gizli paketlere koyuyor, en azından Kod Tabanından indirilen göstergeleri veya komut dosyalarını oraya koymak için. Ve Dosyalar klasörüne ulaşamadım, çalışmanın bazı sonuçlarını nereye yazabilirim? Dürüst olmak gerekirse, MT5'i tüm bu problemlerle, ifade için üzgünüm - zamanın vampirizmi ve sinir enerjisi ve kusurları ile göndermek için duygusal bir dürtü vardı. Ama bir şekilde dayanmayı başardı.

Çünkü bunlar Microsoft'un kurallarıdır (evet, onundur). Windows 8'in piyasaya sürülmesiyle, pratikte ya Microsoft'un söylediğini yapıyor ya da müşterileri yazma yasakları için ayarlamış oluyorsunuz.

Çalışan dosyaları meydan okurcasına dizinlerinde saklamak isteyenler için /portable anahtarı var.


Ve ikinci soru. 64-bit terminali onsuz öldüğü için 64-bit sürümde 32-bit DLL'leri bağlama olasılığını mı sağlaması gerekiyor?

Hayır, teknik olarak (fanatizm olmadan) prensipte imkansızdır. 64 bit kütüphanelere ihtiyaç vardır.


Pekala, bir soru daha. Sorunsuz bir şekilde 64-bit oluşturuldukları için DLL'yi C#'dan bağlamayı mümkün kılacak mı?

Böylece sıradan programlar kolayca 64 bit sürümler oluşturur. Sorunu nereden buldunuz?


Ve ilerisi. Microsoft, ana programlama dili olarak C++'ı C# ile değiştirmek için neredeyse şiddetli bir girişimde bulunuyor. En son VS2013'te, formlarla çalışma yükleme özelliğini bile kaldırdılar ve forumda "neden?" sorusuna "neden daha gelişmiş C# denemiyorsunuz?" sorusuyla yanıt veriliyor. Sonra gelecekte ortaya çıkıyor C ++ 2. plana gidebilir veya hatta gidebilir. C# dil tabanlı yeni bir terminal mi yapması gerekiyor?

İşimizi mahvetmek istediğimizde, evet - C#'a geçeceğiz. Sadece harika bir yöntem olacak.

Sorunları önlemek için MQL4/MQL5 kullanın - C# gibi çalışırlar ve yürütme sırasında otomatik olarak 32 ve 64 bit yerel kodda yeniden derlenirler.

Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
  • www.mql5.com
Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
 

Elbette, her şeyi anlıyorum.

Birkaç ay önce Windows XP'den Windows 7 / Windows 8'e geçen bir kişi kesinlikle şablonları kırmalıdır. Ancak, dedikleri gibi, kendisine yapılan her kötü Pinokyo, bir düzine yıl boyunca kendini kandırmanın ve işletim sistemlerindeki değişikliklere göz yummanın bir ödemesidir.

Neden: