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
![]()
Partager