Lire char* a dans Dll int _stdcall runappli(char* a)

Résolu
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007 - 6 sept. 2005 à 15:31
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007 - 12 sept. 2005 à 12:03
Je realise une Dll c++, pour être lue par VB du style :

int _stdcall runappli(char* a, char* b,int c)

La Dll se lance bien mais je voudrais être sur que a, b et c sont lu, comment puis je voir les données dans une message box, afin de connaitre les valeurs de a b et c ?

13 réponses

BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
8 sept. 2005 à 08:39
comme tu sembles utiliser unicode alors les params ne peuvent pas être char*, remplace par PCTSTR.
Le reste est MFC alors je passe mon chemin.

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
8 sept. 2005 à 16:45
ben oui, unicode mets les chaines sur 2 octets par caractère, incompatible avec char*.

ciao...
BruNews, MVP VC++
3
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
6 sept. 2005 à 15:38
ben comme d'hab: MessageBox()

ciao...
BruNews, MVP VC++
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
6 sept. 2005 à 17:53
bah oui... le seul truc c'est que MessageBox ne peut prendre qu'une
chaine en param pas des entiers donc tu dois faire une chaine qui les
contienne mais sinon...

_______________________

Omnia vincit labor improbus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007
7 sept. 2005 à 16:09
heu.....non mais ma question n'est pas si stupide, je sais faire une messagebox, mais je n'arrive pas à voir mes resultats. Donc deux posssibilités :

Soit je n'arrive pas à envoyer mes données à ma dll soit c'est ma messagebox qui est mal faite. Donc ma question etait comment rendre une messagebox qui lit a ? Me donner exemple avec code serait bienvenue.

En faite a est un lien vers une image = "/mes documents/A.bmp".
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
7 sept. 2005 à 16:20
int _stdcall runappli(char* a, char* b,int c)
{
MessageBox(GetFocus(), a, "Param a", 0);
}

je ne vois vraiment pas ce que tu veux.

ciao...
BruNews, MVP VC++
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
7 sept. 2005 à 17:40
a propos, dsl fwdavy pour mon irruption dans ton thread, ya une
différence entre _stdcall et __stdcall ? idem pour __asm, __try, ...
pourquoi il y a 2 underscores ?

_______________________

Omnia vincit labor improbus
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
7 sept. 2005 à 18:03
Je crois que avec 2 __ c'est 'specific MS compiler' je crois.

ciao...
BruNews, MVP VC++
0
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
7 sept. 2005 à 18:59
hééé mais ca veut dire que faut un code pour chaque compilo, meme sous
le meme OS ??? rah ils abusent c'est qd meme pas si dur de faire un
truc ANSI qd on sait faire un compilo comme ca.... en tout cas j'essaye
ca de suite avec dev-c++

_______________________

Omnia vincit labor improbus
0
BruNews Messages postés 21041 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 20
7 sept. 2005 à 19:24
devcpp utilise bien un sabir d'asm lui aussi alors que MS (comme Borland) suit la syntaxe standard Intel, 1 point partout.

ciao...
BruNews, MVP VC++
0
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007
8 sept. 2005 à 08:17
Merci pour vos reponse, mais je developpe en Evc (evidement vous pouviez pas le devinner). Mais laissons tomber les messagebox en faite mon reel problême est celuis-ci :


int _stdcall runappli(char* a, char* b,int c)
{


// a [file://temp//TT.bmp \\temp\\TT.bmp] ; b [file://temp//tt.jpg \\temp\\tt.jpg] ;


CBitmap bmp;

bmp.Attach(SHLoadDIBitmap(TEXT("[file://temp//TT.bmp \\temp\\TT.bmp]")));
ConvertJPG(b, c, (HBITMAP)bmp);
bool bSuccess = mPrint::PrintJob(TEXT("[file://temp//tt.jpg \\temp\\tt.jpg]"));
return (0);


}



je cherche a remplacer TEXT("[file://temp//TT.bmp \\temp\\TT.bmp]") par a et
TEXT("[file://temp//tt.jpg \\temp\\tt.jpg]") par b, mais pour le moment sans succes.
0
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007
8 sept. 2005 à 16:33
PCTSTR ?! Kesaquo ? tu veux dire que j'essaye en fesant int _stdcall runappli(PCTSTR a, char* b,int c).
0
Fwdavy Messages postés 57 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 8 novembre 2007
12 sept. 2005 à 12:03
Merci BruNews PCTSTR marche parfaitement. :))
0