BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 mai 2004 à 16:08
ghost260984
Messages postés20Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention14 décembre 2004
-
28 mai 2004 à 09:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
ghost260984
Messages postés20Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention14 décembre 2004 28 mai 2004 à 09:04
je corrigerai ca si j ai 5 min a perdre
par contre pour ce qui est de la DLL, grace aux directives de compilation je peut mettre a la fois du code unix et du code windows et lors de la compilation il choisira tou seul les morceaux de code a compiler donc je garde la portabilite mais il faut recompiler cette DLL pour chaques systeme, mais ca a l avantage de faire l' IHM une seul fois et elle sera facilement modifiable
Pamaury
Messages postés341Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention17 juin 20083 27 mai 2004 à 22:09
et puis à moins que je me trompe, tu fais la DLL avec l'API windows non protable donc même avec le java tu perd la protabilité .
Reprend moi si je dis une bétise
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 27 mai 2004 à 20:18
AUCUN strcat sur une place de 1 octet, NON !!!
Je te l'avais deja dit dans le forum.
ghost260984
Messages postés20Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention14 décembre 2004 27 mai 2004 à 19:01
en fait ce que j ai mis en source est un morceau d un programme plus vaste qui doit etre portable sous windows , linux , unix et solaris , le tout en faisant des interfaces graphiques facilement donc on a une couche supérieure qui est en java mais qui ne fait que recuperer les resultats renvoyes par des fonctions dans une dll ( il ya des directive de compilation ce qui permet de compiler sous les autres os sans probleme ( et ca ne donnera pas des dll sous les autres os))ceci afin d'optenir de meilleur performance et aussi de combler un manque dans java qui est que l on ne peut pas sommuniquer avec le systeme d exploitation car l ensemble de mon programme produit un rapport complet sur l etat d'une machine mais aussi de toute une plateforme d une dizaine d ordinateur , ceci dit de but de ce source etait d expliquer comment on faisait pour recuperer les infos des imprimantes en C car on ne le trouve nul par ailleur et j ai estimer que ce serait bon de le poster ici juste a titre d info .
Maintenat si t est pas capable de prendre cette fonction et de l integrer a un programme c est ton probleme pas le mien
Je repete ici que ce code est juste a titre informatif et explique juste comment on recupere une imprimante!
Pamaury
Messages postés341Date d'inscriptionjeudi 3 avril 2003StatutMembreDernière intervention17 juin 20083 27 mai 2004 à 17:38
pourquoi mettre du jave qui appele du c++ :
-on est sur CPPfrance et par sur JAVAfrance
-on a pas tous envie de télécherger le JDK qui plusieur s dizaine de
Mo
-t'es pas capable de faire l'équivalent en C++ qui serai surement plus intéressant
En plus pas besion de faire une DLL, un fichier console suffit très
largement
ghost260984
Messages postés20Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention14 décembre 2004 26 mai 2004 à 19:03
look le zip mais c est du java qui appel le c++
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 26 mai 2004 à 18:22
tu devrais mettre un programme d'exemple avec ton code !!!
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 mai 2004 à 17:27
Je viens de faire cela, va impec.
HANDLE d'une listbox en param de la fonction.
ghost260984
Messages postés20Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention14 décembre 2004 26 mai 2004 à 16:23
en fait c est vrai que le premier ne sert plus a rien , mais ce code a subit telement de changement qu il ya surement des oubli de ce genre mais rine de bien mechant , ca n empeche pas le fonctionnement ;-)
je vais ajouter un pti zip dans un pti moment
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 26 mai 2004 à 16:08
essai = new PRINTER_INFO_4[numprinters];
suivi de:
essai=(PRINTER_INFO_4*)buffer;
Faudrait savoir, c'est l'un ou l'autre, a qoui sert le 1er '=' ????
Tu liberes quand la memoire ???
Mets nous donc un zip avec un prog exemple qui se sert de cela, je serais curieux de voir le resultat.
28 mai 2004 à 09:04
par contre pour ce qui est de la DLL, grace aux directives de compilation je peut mettre a la fois du code unix et du code windows et lors de la compilation il choisira tou seul les morceaux de code a compiler donc je garde la portabilite mais il faut recompiler cette DLL pour chaques systeme, mais ca a l avantage de faire l' IHM une seul fois et elle sera facilement modifiable
27 mai 2004 à 22:09
Reprend moi si je dis une bétise
27 mai 2004 à 20:18
resultat = new char[1]; // 1 SEUL OCTET !!!
fro(...) {
strcat(resultat, essai[i].pPrinterName);
strcat(resultat, ";");
}
AUCUN strcat sur une place de 1 octet, NON !!!
Je te l'avais deja dit dans le forum.
27 mai 2004 à 19:01
Maintenat si t est pas capable de prendre cette fonction et de l integrer a un programme c est ton probleme pas le mien
Je repete ici que ce code est juste a titre informatif et explique juste comment on recupere une imprimante!
27 mai 2004 à 17:38
-on est sur CPPfrance et par sur JAVAfrance
-on a pas tous envie de télécherger le JDK qui plusieur s dizaine de
Mo
-t'es pas capable de faire l'équivalent en C++ qui serai surement plus intéressant
En plus pas besion de faire une DLL, un fichier console suffit très
largement
26 mai 2004 à 19:03
26 mai 2004 à 18:22
26 mai 2004 à 17:27
HANDLE d'une listbox en param de la fonction.
void __stdcall InsertPrintersLB(HWND hlst)
{
DWORD len = 0, count;
PRINTER_INFO_5 *pdata;
EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_NETWORK | PRINTER_ENUM_CONNECTIONS,
0, 5, 0, 0, &len, &count);
if(!len) return;
pdata = (PRINTER_INFO_5*) HeapAlloc(GetProcessHeap(), 0, len);
if(!pdata) return;
if(!EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_NETWORK | PRINTER_ENUM_CONNECTIONS,
0, 5, (BYTE*) pdata, len, &len, &count)) goto relMem;
while(count--) {
SendMessage(hlst, LB_ADDSTRING, 0, (LONG) pdata[count].pPrinterName);
}
relMem: HeapFree(GetProcessHeap(), 0, pdata);
}
26 mai 2004 à 16:23
je vais ajouter un pti zip dans un pti moment
26 mai 2004 à 16:08
suivi de:
essai=(PRINTER_INFO_4*)buffer;
Faudrait savoir, c'est l'un ou l'autre, a qoui sert le 1er '=' ????
Tu liberes quand la memoire ???
Mets nous donc un zip avec un prog exemple qui se sert de cela, je serais curieux de voir le resultat.