Genel sınıflar kütüphanesi - hatalar, açıklamalar, sorular, kullanım özellikleri ve öneriler - sayfa 34

 
Edgar Akhmadeev :
Yoldaşımız Mao'nun dediği gibi: Yüz çiçek açsın.
uuid eşleşip eşleşmediğini merak ediyorum.

uuid verilmez. Sadece kartın seri numarası. Deneyimlerin gösterdiği gibi, SMBIOS tüm kartlar için bir seri numarası vermez, ancak uuid her zaman oradadır ve hangi demir analiz programlarının (örn. HWiNFO) verdiğine karşılık gelir. Büyücünün seri versiyonu gibi - kontrol etmeniz gerekiyor.

[Silindi]  

UUID'nin nasıl alınacağını buldum.

 #define _WIN64   // Only for a 64-bit terminal!

#include <WbemCli.mqh>
//+-----------------------------------------------------------------------------------------------+
//| Script program start function                                                                 |
//+-----------------------------------------------------------------------------------------------+
void OnStart ()
{
   HRESULT result = CoInitialize( 0 );
   if ( result == S_OK ){
      lpWbemLocator pLoc;
      result = CoCreateInstance( CLSID_WbemLocator, 0 , CLSCTX_INPROC_SERVER, IID_IWbemLocator, pLoc.mInterface );
       if ( result == S_OK ){
         lpWbemServices pSvc;
         result = pLoc.ConnectServer( "root\\CimV2" , "" , "" , "" , pSvc );
         if ( result == S_OK ){
            result = CoSetProxyBlanket( pSvc.mInterface, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, 0 , RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, 0 , EOAC_NONE );
             if ( result == S_OK ){
               lpEnumWbemClassObject pEnumerator;
               // Получаем UUID.
               result = pSvc.ExecQuery( "SELECT * FROM Win32_ComputerSystemProduct" , pEnumerator );
               if ( result == S_OK ){
                   uint uReturn = 0 ;
                   while ( result == S_OK ){
                     lpWbemClassObject pclsObj;
                     result = pEnumerator.Next( pclsObj, uReturn );
                     if ( uReturn == 0 ){
                        result = S_OK;
                         break ;
                     }
                     Variant vtProp;
                     result = pclsObj.Get( "UUID" , vtProp );
                     if ( result == S_OK ){
                         Print ( "UUID" , ": " , vtProp.toString() );
                     }
                     pclsObj.Release();
                  }
               }
               
            }
            pSvc.Release();
         }
         pLoc.Release();
      }
      CoUninitialize();
   }
   if ( result != S_OK ){
       ushort shortArray[ 256 ];
       uint len = FormatMessageW( FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS, 0 , result, Lcid, shortArray, 256 , 0 );
       string strError = ShortArrayToString ( shortArray );
       Print ( strError );
   }
}
//+-----------------------------------------------------------------------------------------------+
 
Koldun Zloy :

Offtopik, ama madem buradasın. Piyasa İzleme penceresini ve mevcut açık pozisyonların/emirlerin bulunduğu pencereyi kapattınız mı?

[Silindi]  
fxsaber :

Offtopik, ama madem buradasın. Piyasa İzleme penceresini ve mevcut açık pozisyonların/emirlerin bulunduğu pencereyi kapattınız mı?

Hayır, olmadı.

Bu pencerelerin tutamaçlarını nasıl alacağınızı bildiğinizi düşünüyorum.

Onlara bir WM_CLOSE mesajı göndermeyi denediniz mi?

 
Koldun Zloy :

Hayır, olmadı.

Bu pencerelerin tutamaçlarını nasıl alacağınızı bildiğinizi düşünüyorum.

Onlara bir WM_CLOSE mesajı göndermeyi denediniz mi?

Çeşitli seçenekler denedim ama ne yazık ki bir nedenden dolayı işe yaramadı.

 
Lütfen yönteme const değiştiricisini ekleyin.
   bool               TryGetValue(TKey key,TValue & value ) const ;
 

Çarpışma sorusu. Bu durumda bir çarpışma ile karşılaşmak mümkün mü?

 #include <Generic\HashMap.mqh>

CHashMap< ulong , int > Index;

27.000 kayıt üretilmiş olsaydı.

 
fxsaber :

Çarpışma sorusu. Bu durumda bir çarpışma ile karşılaşmak mümkün mü?

ulong bir biletse, evet, ancak çok küçük bir olasılıkla

 
Andrei Trukhanovich :

ulong bir biletse, evet, ancak çok küçük bir olasılıkla

Bu bir bilet. Bilgi için teşekkürler.

 
fxsaber :

Çarpışma sorusu. Bu durumda bir çarpışma ile karşılaşmak mümkün mü?

27.000 kayıt üretilmiş olsaydı.

Neredeyse imkansız ve karşılaşırsanız, erişim hala süper etkilidir.

Bu pratik olarak en verimli adresleme yöntemidir. Canavar değerlerle erişim tablosunun büyüme riski ile.