Objets COM comment ça marche? C'est relativement urgent

Objets COM comment ça marche? C'est relativement urgent - C++ - Programmation

Marsh Posté le 06-11-2001 à 19:49:50    

Je cherche de la doc sur comment on utilise les objets com si et pour l'instant je trouve pas, si qqn pouvait me donner un coup de main ce serait sympa


Message édité par LetoII le 06-05-2002 à 11:16:02
Reply

Marsh Posté le 06-11-2001 à 19:49:50   

Reply

Marsh Posté le 06-11-2001 à 20:21:13    

Ben en fait tu devrais commencer par apprendre a programmer avec DirectDraw peut etre... Car en fait DirectX n'est composé que d'objects COM et donc la t'aurais un exemple d'utilisation concrete de COM. De plus, c'est tres tres facile a trouver ca

Reply

Marsh Posté le 06-11-2001 à 20:57:19    

j'ai comencé direct draw mais j'ai pas trop trouvé ça instructif surles mécanismes généraux du com :)

Reply

Marsh Posté le 06-11-2001 à 21:02:42    

http://www.microsoft.com/com/
ils ont pas mal de docu. qui explique assez bien ce qu'est COM


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 05-06-2002 à 11:01:54    

Qqn saurait il où je peux trouver un bon tutoriel sur les objet com


---------------
Le Tyran
Reply

Marsh Posté le 05-06-2002 à 11:36:34    

En fait il me faudtrait un truc qui explique comment utiliser CoCreateInstance (comment on chope les CLSID, les IID... et pourquoi cette conne de fonction me renvoie un code d'zerreur non référencé!)
 
pour info voilà le code tappé:
ITaskScheduler *schedulerInterface;
 
 
       long result = CoCreateInstance(CLSID_CTaskScheduler,NULL,CLSCTX_LOCAL_SERVER ,IID_ITaskScheduler,(void**)&schedulerInterface);


Message édité par LetoII le 06-05-2002 à 11:38:53

---------------
Le Tyran
Reply

Marsh Posté le 05-06-2002 à 11:48:26    

utilises le msdn, tu y trouveras toutes les réponses

Reply

Marsh Posté le 05-06-2002 à 11:49:48    

ben non justement j'ai pas trouvé


---------------
Le Tyran
Reply

Marsh Posté le 05-06-2002 à 11:51:22    

c'est quoi ton code d'erreur ?

Reply

Marsh Posté le 05-06-2002 à 11:54:15    

2147746288UL soit (0x800401F0) en hexa, il n'est pas référencé dans la MSDN j'ai un switch qui teste toutes les valeurs de retour de cette fonction ça en fait pas parti.


---------------
Le Tyran
Reply

Marsh Posté le 05-06-2002 à 11:54:15   

Reply

Marsh Posté le 05-06-2002 à 12:03:43    

c'est normal que ça n'ait pas marché, il faut appeler CoIniatilize[Ex] ( dans ton cas CoInitialize() devrait marcher même si c'est démodé )avant toute utilisation de COM.
Et de plus pour tout message d'erreur, il faut utiliser FormatMessage comme avec ce code de MSDN
 
 LPVOID lpMsgBuf;
 FormatMessage(  
  FORMAT_MESSAGE_ALLOCATE_BUFFER |  
  FORMAT_MESSAGE_FROM_SYSTEM |  
  FORMAT_MESSAGE_IGNORE_INSERTS,
  NULL,
  0x800401F0,
  MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
  (LPTSTR) &lpMsgBuf,
  0,
  NULL  
 );
 // Process any inserts in lpMsgBuf.
 // ...
 // Display the string.
 MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
 // Free the buffer.
 LocalFree( lpMsgBuf );
 
En utilisant ce code, le message est "CoInitialize n'a pas été applé"


Message édité par ayachi le 06-05-2002 à 12:15:15
Reply

Marsh Posté le 05-06-2002 à 14:03:32    

Merci beaucoup, ça marche :)


---------------
Le Tyran
Reply

Marsh Posté le 05-06-2002 à 21:20:22    

letoII a écrit a écrit :

Merci beaucoup, ça marche :)  




 
De rien :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed