J'utilise une bibliotèque qui permet d'envoyer des commande dans un autre programme.
Avec Visual Basic j'ai pas de problème quand j'ajoute la library TLB (dans références).
Je cherche à faire la même chose mais en C++ mais je n'y arrive pas: pas de problème de compilation mais un jolie plantage de l'exécutable créé.


voici le code source en Visual basic (marche):

---code en Visual Basic (qui marche):---
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dim GraphicsBuilder As IGraphicsBuilder
    Set GraphicsBuilder = New GraphicsBuilder.GraphicsBuilder
    With GraphicsBuilder
    .Visible = True
    .PageNew "include", "standard", "normal", 0, True, True
End With
---------------------------------------------

---code en Visual C++ (qui NE marche PAS):---
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
      #include <stdio.h>
      #import "C:\Program Files\Citect\CitectSCADA\Bin\CTDRAW32.TLB"
 
      int test(void)
      {
         GraphicsBuilder::IGraphicsBuilder *aaa;
         aaa = NULL;
aaa->put_Visible(true);                                            //Cette ligne fait planter
aaa->PageNew("include", "standard", "normal",0,1,1);       //Cette ligne fait planter
 
      return 0;
      }
 
      int main(void)
      {
         printf("Ca va Marcher\n on y croit...\n");
         test();
         return 0;
      }
------------------------------------------------------------

pour l'histoire de '1' au lieu de 'true', c'est la commende qui est un peu différente en c++ sinon ça compile bien malgré le plantage. J'ai essayer en retirant la première ou la seconde et l'inverse , ça marche pas
Merci d'avance