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

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


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.


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.


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.

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.

Çü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.


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


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


İş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.

MT5'i Program Files'a değil, C sürücüsüne ayrı bir klasöre kurduğumu yazdım. Yükleyici neden her şeyi C:\Users\...\AppData\Roaming\MetaQuotes\Terminal içine koydu? Program Files içine koysam anlaşılır ve mantıklı olurdu ama bu sorunu yaşamamak için bilerek sistem dizinine koymadım.

MT4'ün kaldırılmasıyla ilgili olarak, şu anda bir şeyi yeniden yapıyorsunuz ve bu eksikliği gidereceğinize dair bir umut var. Ancak MT4'ün kurulumu sırasında MT5'te olduğu gibi aynı numarayı yaparsanız, yani her şey gizli klasörlere yıkılacaktır - bu, Microsoft'un dayattığı mutlak aptallığın devamı olacaktır, bunun nedeni aslında çok derindir. Bu siyahlar ve beyazlar arasındaki bir çatışmadır. Bir sürü siyah programcıları var ve bunlar, zamanın beyazlardan 2 kat daha yavaş aktığı genç ruhlar. Bu yüzden beyazlar bilinçaltında ve genç ruhların bilinciyle sınırlanan her şeyde sınırda engelleyici akışlara girmek zorundadır. Bir şeyi ayırmak hiçbir zaman düzene ve optimalliğe yol açmamıştır. Ve farklı klasörlere, özellikle de gizli klasörlere bölme, aslında bir ilerleme karşıtıdır ve "dünya pratiği", bu "böl ve yönet"ten uzun süre sorunlar yaşayacaktır.

Windows güvenlik sisteminin temel kurallarını bilmediğim gerçeği hakkında - bunun benimle ne ilgisi var. Tek bilgisayar kullanıcısıyım ve Windows'a casus oyunlara zorlanmaması ve onunla ne yapacağımı bilmediğim için her fırsatta hapsedilip yavaşlaması için para ödedim. Genel olarak, bu güvenlik değil, sadece az gelişmiş Microsoft'tan kaynaklanan bir tehlike. Virüslerin verdiği zarar, en büyük virüs olan çözümlerinden çok daha azdır.

64-bit sistemler ve DLL hakkında - Bunu anlamıyorum ve tüm bunları ayırmanın değil, evrensel hale getirmenin bir olasılığı olup olmadığını sordum. Bu mümkün değilse, o zaman sistemlerin karmaşıklıkları ve programcıların incelikleri konusunda yetersiz eğitim almış bizim için, elbette, bunun nasıl yapılacağına dair örneklere ve açıklamalara ihtiyacımız var. DLL hakkında yeni bir makale yazacağına söz verdin - bu harika olurdu. Bu, ustalaşmak istememekle ilgili değil, sabahtan akşama, neredeyse hiç tatil yapmadan aynı anda iyileştirme ve ticaret üzerinde çalışıyorum. Döviz piyasalarında başarılı bir başa baş ticaret görevi, modern, hatta çok akıllı bir kişinin entelektüel gelişimini önemli ölçüde aşıyor ve tüm bu gelişmeleri tanımak ve diğer insanların eksikliklerini gidermek için neredeyse hiç zaman kalmadı.

Her şeyin iyi çalıştığı 32-bit 7'den Windows 8'e geçtim. Tam yeni bir bilgisayar aldığımda satıcılar bana Windows 8'in daha hızlı olduğunu söylediler. Bu yüzden abone oldum ve çok fazla sorun olacağını beklemiyordum. Evet, bu Windows 8 genellikle fena değil ve hatta bazı yönlerden çok iyi. Ama hayatta, nedense her şey öyle düzenlenmiştir ki, iyi bir şey yaptıklarında, bu kötü şöhretli güvenlik görevlisi gibi kesinlikle kötü bir şey olacaktır.

C# hakkında açıktır. C# ile bir terminal olsa da, biz kullanıcılar için pek çok şey daha kolay olurdu. Ancak, yazılım yaratıcılarının kendilerinin sorunlarına katlanmak, uyum sağlamak ve yavaşlamak zorundasınız.

 

Windows XP'den çıktığınızda herkesin önünde itiraf ettin mi?

Dayanamadım, kalsın...

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

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

ANG3110 , 2013.12.25 23:11

MT5'i Program Files'a değil, C sürücüsüne ayrı bir klasöre kurduğumu yazdım. Yükleyici neden her şeyi C:\Users\...\AppData\Roaming\MetaQuotes\Terminal içine koydu? Program Files içine koysam anlaşılır ve mantıklı olurdu ama bu sorunu yaşamamak için bilerek sistem dizinine koymadım.

MT4'ü kaldırma konusunda netsiniz, şu anda bir şeyi yeniden yapıyorsunuz ve bu eksikliği gidereceğinize dair bir umut var. Ancak MT4'ün kurulumu sırasında MT5'te olduğu gibi aynı numarayı yaparsanız, yani her şey gizli klasörlere yıkılacaktır - bu, Microsoft'un dayattığı mutlak aptallığın devamı olacaktır, bunun nedeni aslında çok derindir. Bu siyahlar ve beyazlar arasındaki bir çatışmadır. Bir sürü siyah programcıları var ve bunlar, zamanın beyazlardan 2 kat daha yavaş aktığı genç ruhlar. Bu yüzden beyazlar, bilinçaltında ve genç ruhların bilinciyle sınırlanan her şeyde sınırda engelleyici akışlara girmek zorundadır. Bir şeyi ayırmak hiçbir zaman düzene ve optimalliğe yol açmadı. Ve farklı klasörlere, özellikle de gizli klasörlere bölme, aslında bir ilerleme karşıtıdır ve "dünya pratiği", bu "böl ve yönet"ten uzun süre sorunlar yaşayacaktır.

Windows güvenlik sisteminin temel kurallarını bilmediğim gerçeği hakkında - bunun benimle ne ilgisi var. Tek bilgisayar kullanıcısıyım ve Windows'a casus oyunlara zorlanmaması ve onunla ne yapacağımı bilmediğim için her fırsatta hapsedilip yavaşlaması için para ödedim. Genel olarak, bu güvenlik değil, sadece az gelişmiş Microsoft'tan kaynaklanan bir tehlike. Virüslerin verdiği zarar, en büyük virüs olan çözümlerinden çok daha azdır.

64-bit sistemler ve DLL hakkında - Bunu anlamıyorum ve tüm bunları ayırmanın değil, evrensel hale getirmenin bir olasılığı olup olmadığını sordum. Bu mümkün değilse, o zaman sistemlerin karmaşıklıkları ve programcıların incelikleri konusunda yetersiz eğitim almış bizim için, elbette, bunun nasıl yapılacağına dair örneklere ve açıklamalara ihtiyacımız var. DLL hakkında yeni bir makale yazacağına söz verdin - bu harika olurdu. Bu, ustalaşmak istememekle ilgili değil, neredeyse hiç tatil yapmadan sabahtan akşama kadar aynı anda iyileştirme ve ticaret üzerinde çalışıyorum. Döviz piyasalarında başarılı bir başa baş ticaret görevi, modern, hatta çok akıllı bir kişinin entelektüel gelişimini önemli ölçüde aşıyor ve tüm bu gelişmeleri tanımak ve diğer insanların eksikliklerini gidermek için neredeyse hiç zaman kalmadı.

Her şeyin iyi çalıştığı 32-bit 7'den Windows 8'e geçtim. Tam yeni bir bilgisayar aldığımda satıcılar bana Windows 8'in daha hızlı olduğunu söylediler. Bu yüzden abone oldum ve çok fazla sorun olacağını beklemiyordum. Evet, bu Windows 8 genellikle fena değil ve hatta bazı yönlerden çok iyi. Ama hayatta, nedense her şey öyle düzenlenmiştir ki, iyi bir şey yaptıklarında, bu kötü şöhretli güvenlik görevlisi gibi mutlaka kötü bir şey olacaktır.

C# hakkında açıktır. C# ile bir terminal olsa da, biz kullanıcılar için pek çok şey daha kolay olurdu. Ancak, yazılım yaratıcılarının kendilerinin sorunlarına katlanmak, uyum sağlamak ve yavaşlamak zorundasınız.


 
Renat :

Windowx XP'den çıktığınızda herkesin önünde itiraf ettin mi?

Evet, 2 yıl önce. Yakın zamanda yeni bir bilgisayar satın almadan ve W8'i kurmadan önce 32-bit yedi üzerinde çalıştım ve her şey yolundaydı.
 

Evet. ve ilerisi. C# hakkında konuşurken öncelikle DLL'leri kastediyorum. İnternette terminale bağlamak istediğim birçok iyi ve kullanışlı optimizasyon, sinir ağı ve diğer kitaplıklar var. Alglib gibi kitaplıklar stokastik süreçler ve yöntemler için tasarlanmamıştır. Ve sürekli değişen zaman serileri ile çalışmak sürekli bir stokastiktir. C# DLL için, Yönetilmeyen türdeki yöntemleri kullanmak zordur, çünkü o zaman dahili doldurmayı yeniden yazmanız gerekir ve çoğu zaman böyle bir olasılık yoktur. Bunlar, işlev açıklamaları ve uygulama örnekleri içeren çıplak DLL'lerdir. Evet ve C#'ta bir uygulama olarak bir şeyler yapmak ve onu DLL'de yıkmak, C++'da bir sürü ek dosya ve işlevle buğulama yapmaktan daha kolay, daha kompakt ve daha kullanışlı olabilir. Ve Wrappers'ın yöntemleri hantal, zaman alıcıdır ve DLL'nin hızını yavaşlattıklarını söylerler. Terminalin kendisi hala mql5'te normal şekilde çalışıyor ve her şey oldukça uygun. Şimdi, C# DLL ile doğrudan ona kolay bir bağlantı sağlayabilirseniz, bu harika olurdu.

 

C:\Users\...\AppData\Roaming\MetaQuotes\Terminal ile ilgili. Microsoft görünüşe göre Microsoft'un dünyadaki alanın %99,9'unu işgal etmesini istiyor ve diğer insanlara gizli rezervasyonlar şeklinde %0,1 sağlamaya hazır. Bunun şu ana kadar yalnızca Program Dosyaları için geçerli olması iyi. Ama MT5'i Program Files'a değil, C sürücüsündeki ayrı bir klasöre kurdum. Her neyse, MT5 yükleyici her şeyi gizli klasörlere attı.

Şimdi, Kod Tabanından terminalden değil de normal yoldan bir şey indirirsem, nereye koymalıyım? Sonuçta terminal ve editör bu dosyaları terminalin kurulu olduğu dizinlerde görmez. Normal kullanıcıdan gizlenmiş aynı klasörlerdeki anlamına gelir. Absürt. Ve gizli klasörler hakkında hiçbir şey bilmeyen sıradan bir kullanıcı, hiçbir yere hiçbir şey koyamaz.

 
Son iki gönderiniz, yazım ve ifade tarzı açısından çarpıcı biçimde farklı. İlki kopyala-yapıştır mı?
 
ANG3110 :
...

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?

Visual Studio 2013'te C++ veya neden buna geçmelisiniz? http://maxshulga-ru.blogspot.ru/2013/12/cpp-in-vs2013.html


Visual Studio 2013'te Windows Formları Nasıl Oluşturulur

http://www.cyberforum.ru/net-framework/thread989286.html

http://www.cyberforum.ru/cpp-cli-winforms/thread1012010.html

http://www.cyberforum.ru/visual-cpp/thread996569.html#post5282198

http://kaktusenok.blogspot.ru/2012/12/visual-studio-2012-winforms-windows.html

C++ в Visual Studio 2013 или зачем на нее переходить?
C++ в Visual Studio 2013 или зачем на нее переходить?
  • 2013.12.02
  • Maxim Shulga (aka MaxBeard)
  • maxshulga-ru.blogspot.ru
Зачем переходить на VS 2013 C++ разработчику? Этот вопрос, я думаю, возникал у многих. За долгое время привыкшие к, мягко говоря, нечастым релизам студии, разработчики за год получили 5!! релизов (2012, U1,2,3,2013). И это не считая VS 2012 U4, который сделали для тех, кто не может позволить перейти на 2013 прямо сейчас (по финансовым или...
 
serferrer :

Visual Studio 2013'te C++ veya neden buna geçmelisiniz? http://maxshulga-ru.blogspot.ru/2013/12/cpp-in-vs2013.html

Evet, ayrıca pek çok güzellik içeren en son c++ standardı. Hayır, Sharpe'a karşı hiçbir şeyim yok ama...
 
artmedia70 :
Son iki gönderiniz, yazım ve ifade tarzı açısından çarpıcı biçimde farklı. İlki kopyala-yapıştır mı?
Evet, ilk yazdıklarım sanki basit bir kullanıcının tenindenmiş gibi, algıyı kasten hafife alıyormuş gibi. Sondan bir önceki olan beni gerçekten ilgilendiren şeyleri yazdı ve sonra yoruldum ve şu anda beni endişelendiren ayrıntılar ekledim. Ama anlam bakımından 10. sınıf ve yeni başlayanların üslubu olarak farklıydılar ve bu nedenle yeni bir gönderide yıkıldılar ve bir öncekini kopyaladılar. Sen gözlemcisin.
 
ANG3110 :

C:\Users\...\AppData\Roaming\MetaQuotes\Terminal ile ilgili. Microsoft görünüşe göre Microsoft'un dünyadaki alanın %99,9'unu işgal etmesini istiyor ve diğer insanlara gizli rezervasyonlar şeklinde %0,1 sağlamaya hazır. Bunun şu ana kadar yalnızca Program Dosyaları için geçerli olması iyi.

Umarım MQ sonunda işletim sistemini yayınlar ve sonunda