MQL'de *CObject işaretçisinin referansını kaldırmak mümkün mü?
Farklı seçenekler denedim, işte testin scripti, bağlantılı listeye 3 Myclass elemanı ekliyorum ve ardından CMyclass alanlarının değerlerini değiştiriyorum, bu şekilde çalışıyor:
#include <Object.mqh>
#include <Arrays\List.mqh>
//+------------------------------------------------------------------+class CMyclass: public CObject
{
public :
int x;
double y;
void CMyclass( void ):x(- 1 ),y(- 2.2 ) { }
};
//+------------------------------------------------------------------+void OnStart()
{
CList * base = new CList;
CMyclass *result;
for ( int i= 0 ;i< 3 ;i++)
{
base .Add( new CMyclass);
result= base .GetCurrentNode();
result.x = 99 ;
result.y = - 555.5 ;
}
for ( int i= 0 ;i< 3 ;i++)
{
result= base .GetNodeAtIndex(i);
Print(result.x, " : " ,result.y);
}
delete base ;
}
//+------------------------------------------------------------------+
ara CMyclass *sonuç işaretçisi olmadan dinamik olarak oluşturulmuş CMyclass öğelerinin kenar boşluklarını değiştirebilir miyim?
bunun gibi bir şey:(CMyclass *)(base.GetCurrentNode()).x = 99;
Not: typedef'in kullanılması gerektiğinden şüpheleniyorum, ancak şu ana kadar şans yok
MQL'de *CObject işaretçisinin referansını kaldırmak mümkün mü?
Farklı seçenekler denedim, işte testin scripti, bağlantılı listeye 3 Myclass elemanı ekliyorum ve ardından CMyclass alanlarının değerlerini değiştiriyorum, bu şekilde çalışıyor:
ara CMyclass *sonuç işaretçisi olmadan dinamik olarak oluşturulmuş CMyclass öğelerinin kenar boşluklarını değiştirebilir miyim?
bunun gibi bir şey:(CMyclass *)(base.GetCurrentNode()).x = 99;
Not: typedef'in kullanılması gerektiğinden şüpheleniyorum, ancak şu ana kadar şans yok
CList kütüphanesinin orada ne yaptığını bilmiyorum, ama bunu yapardım
CList kütüphanesinin orada ne yaptığını bilmiyorum, ama bunu yapardım
ATP, ancak aradığım şey bu değil, örneğiniz aslında bir işlev çağrısı yoluyla tür dönüştürme
Not: MQL'de işaretçilerle çalışmaya alışkın değilim, bu yüzden anlamaya çalışıyorum, örnek basit ve çalışıyor gibi görünüyor, ancak şu ana kadar GetCurrentNode() sonucunun nasıl getirileceğine dair bir çözüm bulamadım. -->CObject *CMyclass tipime .... bir seçenek olarak kesinlikleCMyclass yapıcısı aracılığıyla akıllı olabilirsiniz, ancak umarım MQL'de tip döküm yoluyla zarif bir çözüm vardır
ATP, ancak aradığım şey bu değil, örneğiniz aslında bir işlev çağrısı yoluyla tür dönüştürme
Not: MQL'de işaretçilerle çalışmaya alışkın değilim, bu yüzden anlamaya çalışıyorum, örnek basit ve çalışıyor gibi görünüyor, ancak şu ana kadar GetCurrentNode() sonucunun nasıl getirileceğine dair bir çözüm bulamadım. -->CObject *CMyclass tipime .... bir seçenek olarak kesinlikleCMyclass yapıcısı aracılığıyla akıllı olabilirsiniz, ancak umarım MQL'de tip döküm yoluyla zarif bir çözüm vardır
Orada hiçbir işlevim yok, ancak tam olarak tanımladığınız görev çözülüyor. Listenin temel sınıfı CNode'dur (yöntemler Prev(), Next(), vb.dir) ve döngüde onun ardılı olan COorder alanlarına bir çağrı vardır. Döngü, 1 kez tanımlı olarak bildirilir ve ardından her yerde kullanılır.
Belki özelliklerde gösterilmelidir?
düzenlemeye çalışacağım.
Sevgili web sitesi tasarımcıları,
işte mesajların ekran görüntüsü, lütfen şu anda hangi muhatabın seçili olduğunu söyleyin
Zaten kime yazdığınızı anlamak için gözünüz alnınızda....
Lütfen cevap vermediklerini, cevap verdiklerini ve şimdi yazdığını ayrı bir renkle işaretle...
Sevgili web sitesi tasarımcıları,
işte mesajların ekran görüntüsü, lütfen şu anda hangi muhatabın seçili olduğunu söyleyin
Zaten kime yazdığınızı anlamak için gözünüz alnınızda....
Lütfen cevap vermediklerini, cevap verdiklerini ve şimdi yazdığını ayrı bir renkle işaretle...
2
Kabul etsem de. Her zaman fark etmezsiniz, çok az kontrast vardır.
işte mesajların ekran görüntüsü, lütfen şu anda hangi muhatabın seçili olduğunu söyleyin
MQL'de *CObject işaretçisinin referansını kaldırmak mümkün mü?
Farklı seçenekler denedim, işte testin scripti, bağlantılı listeye 3 Myclass elemanı ekliyorum ve ardından CMyclass alanlarının değerlerini değiştiriyorum, bu şekilde çalışıyor:
ara CMyclass *sonuç işaretçisi olmadan dinamik olarak oluşturulmuş CMyclass öğelerinin kenar boşluklarını değiştirebilir miyim?
bunun gibi bir şey: (CMyclass *)(base.GetCurrentNode()).x = 99;
Not: typedef'in kullanılması gerektiğinden şüpheleniyorum, ancak şu ana kadar şans yok
MQL'de *CObject işaretçisinin referansını kaldırmak mümkün mü?
Farklı seçenekler denedim, işte testin scripti, bağlantılı listeye 3 Myclass elemanı ekliyorum ve ardından CMyclass alanlarının değerlerini değiştiriyorum, bu şekilde çalışıyor:
ara CMyclass *sonuç işaretçisi olmadan dinamik olarak oluşturulmuş CMyclass öğelerinin kenar boşluklarını değiştirebilir miyim?
bunun gibi bir şey: (CMyclass *)(base.GetCurrentNode()).x = 99;
Not: typedef'in kullanılması gerektiğinden şüpheleniyorum, ancak şu ana kadar şans yok
CList kütüphanesinin orada ne yaptığını bilmiyorum, ama bunu yapardım
CList kütüphanesinin orada ne yaptığını bilmiyorum, ama bunu yapardım
ATP, ancak aradığım şey bu değil, örneğiniz aslında bir işlev çağrısı yoluyla tür dönüştürme
Not: MQL'de işaretçilerle çalışmaya alışkın değilim, bu yüzden anlamaya çalışıyorum, örnek basit ve çalışıyor gibi görünüyor, ancak şu ana kadar GetCurrentNode() sonucunun nasıl getirileceğine dair bir çözüm bulamadım. --> CObject * CMyclass tipime .... bir seçenek olarak kesinlikle CMyclass yapıcısı aracılığıyla akıllı olabilirsiniz, ancak umarım MQL'de tip döküm yoluyla zarif bir çözüm vardır
ATP, ancak aradığım şey bu değil, örneğiniz aslında bir işlev çağrısı yoluyla tür dönüştürme
Not: MQL'de işaretçilerle çalışmaya alışkın değilim, bu yüzden anlamaya çalışıyorum, örnek basit ve çalışıyor gibi görünüyor, ancak şu ana kadar GetCurrentNode() sonucunun nasıl getirileceğine dair bir çözüm bulamadım. --> CObject * CMyclass tipime .... bir seçenek olarak kesinlikle CMyclass yapıcısı aracılığıyla akıllı olabilirsiniz, ancak umarım MQL'de tip döküm yoluyla zarif bir çözüm vardır
Orada hiçbir işlevim yok, ancak tam olarak tanımladığınız görev çözülüyor. Listenin temel sınıfı CNode'dur (yöntemler Prev(), Next(), vb.dir) ve döngüde onun ardılı olan COorder alanlarına bir çağrı vardır. Döngü, 1 kez tanımlı olarak bildirilir ve ardından her yerde kullanılır.