Benim yaklaşımım. Çekirdek - Motor. - sayfa 140

 
Реter Konow :

Evet. Aynen öyle. Motorun belirli bir GUI oluşturması ve onunla çalışması için gereken tüm bilgiler. Şimdi onu doğrudan motora yüklüyorum ve ardından yapıcının yazdırdığı bir dosyadan yüklenebilir hale getireceğim.

Ne kadar karmaşık ve kafa karıştırıcı.

Shaitan-boiler'ınızın kullanıcısının, kullanıcı gerekli formları, pencereleri ve öğeleri oluşturduktan sonra, #include kullanarak programa bağlanmak için bir mqh dosyası yayınlamasını sağlamak daha kolay olmaz mıydı? Dosya zaten OnChartEvent() , OnTimer() , OnTick() ve diğer bağlantı öğelerini içeriyor. Sadece onun için gerekli eylemleri reçete etmek için kalır, her durumda reçete etmesi gerekir, ancak aynı zamanda biçimlendirme dilinizi de öğrenir. Ve böylece - bunların hiçbirine gerek yok - oluşturulan mqh dosyasında gerekli olanı mql'ye kaydettim ve seviniyorum.

Nedense, kullanıcının anlamadığı bir dil kullanarak bir işaretleme dili ve bağlantı oluşturma yolunu seçtiniz. Bu karar, mql dilinin kullanıcılarını ürüne çekmeyecektir.

 

Kampanya, bu konudaki mucizelere bakarak - bir kişinin tüm zihinsel çabalarının çoğu aptal kalmaya eğilimlidir.

 
Maxim Kuznetsov :
ancak olaylardaki tüm özel düzenlemeleri-bağlamaları da geçersiz kılar mı?

GUI değişir değişmez, kullanıcı bir düğmeye basar ve yeni dosyalar yazdırır. Motor yeni çekirdekleri yükler ve kullanıcı uygulaması güncellenmiş arayüz dosyalarını içermelidir.

Bu durumda, yalnızca bir dosyanın değiştirilmesi (Bağlantı Özellikleri) ve ikincisinin yeniden bağlanması gerekir. Ancak, önceden yazılmış kodu önceki dosyadan kopyalayabilirsiniz.

Ana şey, kişi GUI'ye karar vermeden önce bağlantı dosyalarını doldurmamaktır. Yeni pencereler eklenirse, hiçbir şeyi etkilemez. Eski pencereler ve öğeler değişirse, programdaki kodu yeniden yapmanız gerekebilir.

 
Реter Konow :

Hepsi yapıcıda. KIB kodu yazılır ve dosya yeniden derlenir.

Yapıcı ile nasıl çalışacağınız aşağıda açıklanmıştır https://www.mql5.com/ru/blogs/post/717782

Baktım ... Dosya ve klasör isimleriyle aptal çocukça hatalar, editörde de ilk defa açmış gibi çalışıyorsunuz ...

Ve anladığım şey, bunun bir kurucu olmadığı. Görsel bir kurucunuz olduğunu sanıyordum...

Ve siz bu konseptinize bir buluş mu diyorsunuz? Nerede ve nerede?

 
Artyom Trishkin :

Ne kadar karmaşık ve kafa karıştırıcı.

Şeytan kazanınızın kullanıcısının, kullanıcı gerekli formları, pencereleri ve öğeleri oluşturduktan sonra, #include kullanarak programa bağlanmak için bir mqh dosyası yayınlamasını sağlaması daha kolay olmaz mıydı? Dosya zaten OnChartEvent(), OnTimer(), OnTick() ve diğer bağlantı öğelerini içeriyor. Sadece onun için gerekli eylemleri reçete etmek için kalır, her durumda reçete etmesi gerekir, ancak aynı zamanda biçimlendirme dilinizi de öğrenir. Ve böylece - bunların hiçbirine gerek yok - oluşturulan mqh dosyasında gerekli olanı mql'ye kaydettim ve seviniyorum.

Nedense, kullanıcının anlamadığı bir dil kullanarak bir işaretleme dili ve bağlantı oluşturma yolunu seçtiniz. Bu karar, mql dilinin kullanıcılarını ürüne çekmeyecektir.

Bu arada, evet.

Bu tam olarak yeniden derlerken gittiğim yol. Doğru, hazır MQH dosyaları yapmadım, sıradan metin dosyaları yazıyorum ve ardından başlatma prosedürlerinin metnini onlardan ana modüllere aktarıyorum, ancak fikir aynı.

Peter, gerçekten - nasıl kullanılacağını hatırlamanız gereken ayarlar yerine - hazır ayarlara sahip hazır bir MQH dosyası oluşturulsaydı, kullanıcılarınız için hayatı çok daha kolay hale getirecek!

 
Artyom Trishkin :

Ve siz bu konseptinize bir buluş mu diyorsunuz? Nerede ve nerede?

Artem, yanılıyorsun. Bu, tek düğmeli "ganimetleri kes" (veya en kötü ihtimalle iki düğmeli, bir tane daha - "büyük bir ganimeti kes") olan hazır Uzman Danışmanlar isteyen insanlardan, yarı otomatik mod, anlaşmaları açma, onlara eşlik etme ve Peter'ın görsel bileşenleriyle kapatma!

Böyle bir insan ortaya çıkarsa, bunun gerçekten bir atılım olacağına inanıyorum.

Sadece bunun mümkün olduğundan şüpheliyim. İnsanlar doğası gereği tembeldir ve ellerle ticaret yapmak (yarı otomatik bile olsa) çok fazla deneyim gerektirir, ancak yerel beau monde bunu nereden alıyor?

 
Georgiy Merts :

Bu arada, evet.

Bu tam olarak yeniden derlerken gittiğim yol. Doğru, hazır MQH dosyaları yapmadım, sıradan metin dosyaları yazıyorum ve ardından başlatma prosedürlerinin metnini onlardan ana modüllere aktarıyorum, ancak fikir aynı.

Peter, gerçekten - nasıl kullanılacağını hatırlamanız gereken ayarlar yerine - hazır ayarlara sahip hazır bir MQH dosyası oluşturulsaydı, kullanıcılarınız için hayatı çok daha kolay hale getirecek!

Hangi ayarlardan bahsettiğini anlamadım. Ama elimden geleni yapacağım.

 
Реter Konow :

Daha ayrıntılı olarak açıklayın.

belge yok, bu nedenle bağlantılar bellekten (iş parçacığının derinliklerinden bir yerde) :-)

arabirim öğelerinden "basılı" "serbest bırakılan" iletilere gönderen birçok iç içe anahtarlı bir işleve sahip bir dosya oluşturursunuz. Oradaki kullanıcı olaylara tepki olarak araba kullanır.
Arayüz değiştirildi-düzenlendi, şimdi bu dosyada ne var?

Örneğin, kullanıcı yukarıdaki paneli iki pencereye bölmek için ne kadar iş yapmalıdır - bir düğmede, ikinci tabloda (böylece örneğin kapatılabilir ve ekranda belirmez).
Ve örneğin yerleri değiştirmek için bazı sütunlar. Bu sadece tipik - bir düzen yaptılar, kullandılar, görünümü daha rahat bir hale getirdiler

 
Реter Konow :

Hangi ayarlardan bahsettiğini anlamadım. Ama elimden geleni yapacağım.

Sonuç olarak, tüm formları, pencereleri, görsel öğeleri oluşturduktan sonra, doğrudan derlemeye yönelik hazır bir MQL dosyası oluşturulacaktır.

Anladığım kadarıyla artık kullanıcılar tüm boyutları, koordinatları, girintileri kendileri girmek zorunda... Bu çok zahmetli ve meşakkatli bir iş. Otomatik olsa iyi olurdu. Bunun sonucu, yeniden derlenmeye hazır bir MQH dosyası olacaktır.

 
Реter Konow :

Hangi ayarlardan bahsettiğini anlamadım. Ama elimden geleni yapacağım.

OOP'yi öğrenin ve bunu uzun zaman önce yapmış olurdunuz ve sadece yapabileceklerinizi değil, çok daha fazlasını - önünüzde şimdi bile şüphelenmediğiniz büyük bir yaratıcılık alanı açılacaktır. Hızlı, kaliteli ve profesyonel.
Ve sürekli şişirilen motorunuzu yıllardır hırpalıyorsunuz.
Ayrıca, yazılan kod miktarıyla gurur duyuyorsanız, programlamada bir "Hintli"siniz. Bu bir isim araması değil - sadece bu tanımı arayın - yaptığınız şeye tam olarak uyuyor.
Bin satır kod yazabilirsiniz ve yüz satır kod yazabilirsiniz ve her ikisi de içlerinde gömülü olan aynı eylem dizisini yapacaktır. Ancak şişirilmiş kodu değiştirmek veya şişirilmiş koda eklemek, şişirilmemiş koddan çok daha zordur. Ama yazılan satırların sayısıyla övünmeyi tercih ediyorsun (bunlarla Nikolai'ın burnunu dürterek), hepsine büyük bir proje diyorsun. Tanrı tarafından bir çocuk gibi.