|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Bonjour,
Je voudrais importer un fonction définie avec C de la forme : Code :
Et j'ai passé un C.Strings.Chars_Ptr, et là j'ai une erreur à l'exécution : Citation:
Merci pour votre aide. |
|||
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() |
Finalement, j'ai trouvé deux minutes pour toi et j'ai fait ça
Code :
|
||
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Ah, ben c'est intéressant merci.
Comme gethostname est une fonction, j'avais fait une fonction, donc, je me santais un peu coincé pour les paramètre out de fonction C. Ca c'est une chose. Une autre c'est l'utilisation simple de C.Char_Array en lieu est place de (char * ) C'est ce que j'avais passer, mais comme j'étais dans une fonction, aucune chance de retrouver mon résultat. Merci Blackknight, j'ai pas testé, mais si tu dis que ça marche, je le retiens pour la prochaine fois. Pour ce coup ci, je me suis simplement tourné vers Gnat.Sockets.Host_Name. Mais je réviserai certainement mon code. Merci encore. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Parce que passer une procédure en place de fonction...
|
|
|
00
|
|
|
#6 | ||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
D'ailleurs ça marche pas, ni en fonction ni en procédure.
Ca marche peut-être sur Gnu/Linux, cette solution mais a priori pas sur Windows. Code :
|
||
|
|
00
|
|
|
#7 | ||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Je change de fonction, je vais chercher gethostname dans win32ada, win32.winsock.gethostname();
déjà mon installe est bidon, puisque je dois fournir le chemin d'accès à la bibliothèque win32. je compile donc avec la commande suivante : Code :
F:\LcdParAda_windows-0.0.1a>gnatmake -o LcdParAda src/main.adb -aIsrc/lib/Ada -aIc:/gnat/2010/include/win32ada/ -L C:\GNAT\2010\lib\win32ada\static Code :
|
||
|
|
00
|
|
|
#8 | ||||
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Bonjour, bonjour à tous... Ou re,
Voilà, alors, j'ai la chance d'avoir ce merveilleux outils qu'est un compilateur Ada, mais j'en ai plusieurs en plus.... La j'ai re- sortie un viel ObjectAda de 97 la version 7.1 professionnel... J'ai chargé la dll Ws2_32 et j'ai passer une procédure défini ainsi : Code :
Code :
Plus qu'à trouver le ou est char_array_access. Même résultta en passant un char_array en mode out, j'ai rien dans ma chaîne. Donc, t'es sur quel système Blacknight ? |
||||
|
|
00
|
|
|
#9 | ||
|
Membre confirmé
![]() |
J'ai testé sur Ubuntu 11.04 avec la version suivante de Gnat
Code :
D'ailleurs, je peux aussi le faire sur un FreeBSD mais je pense que, dans ce cas, le résultat sera identique à Linux. |
||
|
00
|
|
|
#10 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Merci Blackknight !
|
|
|
00
|
|
|
#11 | ||
|
Membre confirmé
![]() |
Bon,
j'ai essayé sur FreeBSD et bien sûr, ça marche. Pour Windows, c'est une autre paire de manches. Code :
Ceci dit, après étude plus précise, il semblerait que Gnat utilise la version fournie avec le Cygwin intégré. Du coup, j'ai pas trop de solution en l'état. A suivre |
||
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : juin 2006 Messages : 649 ![]() |
Arff, dommage... Merci quand même.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com