Normalde, danışmanlar, göstergeler, komut dosyaları arasında veri alışverişi için yalnızca ve yalnızca GlobalVariables ve dosyalar vardır.
yukarıdaki 4 noktanın tümü, balık eksikliğinden kaynaklanan yerel "kesmelerdir". Yukarıdaki 4 noktanın tümü, keyfi veri alışverişi için amaçlanmayan mekanizmalar kullanır ve hatta veri dizileri için daha da fazlası.
GlobalVariables'ın mesajlaşma için düzenli olarak oluşturulduğunu düşünebilirsiniz. Aptalca dediler. Aslında, bu diğer herhangi bir öğeyle aynı hack.
... Kabaca söylemek gerekirse,kaynak üzerinden yazma/okuma tıklamalarının tam döngüsü saniyede 4 milyon tıklama hızında gerçekleşir.
Bir kaynağa Okuma/Yazma çok hızlıdır. Ancak bu, böyle bir aktarım için ne kadar uygundur:
1. Strona A. Zamanlayıcı olayı. Olay üzerinde değiştirilen tüm parametre değerlerinin toplanarak bir dizgeye dönüştürülmesi. Dizeyi Char'a çeviriyoruz, kaynağa yazıyoruz. B tarafına bir mesaj sinyali gönderiyoruz.
2. Taraf B. OnChartEvent() olayı, bir mesaj sinyali aldı, kaynağı açtı, okudu, parametre çekirdeğini yeni değerlerle doldurdu, gerekli öğeleri yeniden çizdi.
Ya bu olay zamanlayıcının frekansında sürekli olarak devam ederse?
Soru, başka seçenekler varsa, bunun için kaynakların en iyi nasıl kullanılacağıdır.
EventChartCustom() seçeneğinin iki dezavantajı vardır.
Mesaj olay kuyruğuna eklenir
Parsel 127 karakterden fazla olamaz. Bu nedenle, 1000 karakterlik bir mesajın parçalanması ve ardından yeniden birleştirilmesi gerekir. Ve mesajın her bir parçası olay kuyruğunda duracaktır.
Grafik üzerinden transfer seçeneği. nesneler, mesajı her biri 64 karakterlik paketlere bölmeyi, bunları nesnelerin açıklamasına yazmayı ve ardından birleştirmeyi gerektirir. İlginçtir, bu seçenek en hızlısıdır, ancak hat uzunluğu arttıkça hızı azalır. Yani, ObjectSetString()'e yapılan her çağrı 3 mikrosaniyedir. Ancak, dize 1000 karakter ise, 64 karaktere bölünmesi gerekir, bu da ObjectSetString () öğesinin yaklaşık 8 kez çağrılması anlamına gelir. 8*3 = 24ms. Sonra aynı miktarda dize toplamak için. Bu nedenle, dize 10.000 karakter olsaydı, bu yöntem kesinlikle kaynaklarla çalışma yöntemine hızlı bir şekilde yaklaşmaya başlardı. (Kaynak kaydetme ve okuma + dizeleri uint ve geri çevirme zamanı ile ilgili).
Kaynak seçeneği sonuna kadar denenmemiş olarak kalır. Bugün test cihazında kontrol edeceğim ve sonunda evrensel olup olmadığı netleşecek.
Normalde, danışmanlar, göstergeler, komut dosyaları arasında veri alışverişi için yalnızca ve yalnızca GlobalVariables ve dosyalar vardır.
yukarıdaki 4 noktanın tümü, balık eksikliğinden kaynaklanan yerel "kesmelerdir". Yukarıdaki 4 noktanın tümü, keyfi veri alışverişi için amaçlanmayan mekanizmalar kullanır ve hatta veri dizileri için daha da fazlası.
GlobalVariables'ın mesajlaşma için düzenli olarak oluşturulduğunu düşünebilirsiniz. Aptalca dediler. Aslında, bu diğer herhangi bir öğeyle aynı hack.
... Kabaca söylemek gerekirse, kaynak üzerinden yazma/okuma tıklamalarının tam döngüsü saniyede 4 milyon tıklama hızında gerçekleşir.
Bir kaynağa Okuma/Yazma çok hızlıdır. Ancak bu, böyle bir aktarım için ne kadar uygundur:
1. Strona A. Zamanlayıcı olayı. Olay üzerinde değiştirilen tüm parametre değerlerinin toplanarak bir dizgeye dönüştürülmesi. Dizeyi Char'a çeviriyoruz, kaynağa yazıyoruz. B tarafına bir mesaj sinyali gönderiyoruz.
2. Taraf B. OnChartEvent() olayı, bir mesaj sinyali aldı, kaynağı açtı, okudu, parametre çekirdeğini yeni değerlerle doldurdu, gerekli öğeleri yeniden çizdi.
Ya bu olay zamanlayıcının frekansında sürekli olarak devam ederse?
Soru, başka seçenekler varsa, bunun için kaynakların en iyi nasıl kullanılacağıdır.
//------------------------------------------------ -------------------------------------------------- --------------------
Ya bu olay zamanlayıcının frekansında sürekli olarak devam ederse?
Soru, başka seçenekler varsa, bunun için kaynakların en iyi nasıl kullanılacağıdır.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Programlar arasında veri alışverişi
fxsaber , 2018.11.21 13:12
Etkileşimler için çeşitli seçenekleri bu kadar ayrıntılı bir şekilde boyamak için muhtemelen çok zamanınız var. Maalesef böyle bir kaynağım yok.
İşte tam bir etkileşimin olduğu konuyla ilgili bir makale . Her bina tuğladan ve belirli görevler için inşa edilmiştir. Tüm olası tuğlalar dalın en başında gösterilir. Gerisi inşaatçıya kalmış.
Makale, biri test cihazında bulunan kaynaklar aracılığıyla iki programın bağlantısını kontrol etmez.
Sendikanın sorunu ne? Lütfen bir örnek:
Makale, biri test cihazında bulunan kaynaklar aracılığıyla iki programın bağlantısını kontrol etmez.
Tuğlalarla ilgili cümleyi okuyun.
...
Bu makale serçelere top ateşliyor. Birçok makale gibi. Sorunu makalede çözmektense kendim çözmeyi tercih ederim.
Her şey 10 kat daha kolay ve görsel olarak yapılabilir. Ve makalede - şeytan bacağını kıracak ...
Ve test cihazındaki kaynaklarla çalışmayı kontrol etmediğinizi söylediyseniz, bu makalenin anlamı nedir?
Ve test cihazındaki kaynaklarla çalışmayı kontrol etmediğinizi söylediyseniz, bu makalenin anlamı nedir?
Tartışmayı bıraktı.
Bu karar bir tür saçmalık. Belki yanlış bir şey yapıyorum.
Kısaca konuşmak gerekirse:
StringToCharArray() işlevi YALNIZCA bir karakter dizisini kabul eder.
ResourceCreate() işlevi YALNIZCA bir uint dizisini kabul eder.
Bu nedenle, char dizisinin ( dönüştürülmüş dizeyle doldurulmuş) içeriğinin bir uint dizisine yeniden yazılması gerekir.
Normal bir grafikte gösterge: