G-Rom a écrit :Merci Chris, disons que je voulais utiliser les API.
Juste une question Denis , pourquoi utilisé des API dès lors que l'on peut s'en passer ?
imagine que l'année prochaine pour x ou y raison Microsoft change son API ( pour par exemple , forcer les dev , a passer sur une plateforme supérieur )
Comment peut tu géré cela surtout si tu as des centaines de sources à updaté ?
http://fr.wikipedia.org/wiki/Enfermemen ... C3%A9taire
C'est juste une question , pas besoin de trollé , c'est la réponse de Denis qui m'intéresse ( LSI & Jacobus aussi

)
@++
G-Rom a écrit :Juste une question Denis , pourquoi utilisé des API dès lors que l'on peut s'en passer ?
Pourquoi utiliser un tel portable alors que l'on peut s'en passer ?
Pourquoi utiliser un téléviseur alors que l'on peut s'en passer ?
Pourquoi utiliser une voiture alors que l'on peut s'en passer ?
Je n'oppose pas les API aux commandes natives de PB.
Il existe des milliers d'API éprouvées qui permettent de presque tout faire. Les utiliser permet aussi de comprendre comment Microsoft travaille. Cela réduit aussi le code final de l'executable.
En plus, ca permet de progresser un peu.
G-Rom a écrit :imagine que l'année prochaine pour x ou y raison Microsoft change son API ( pour par exemple , forcer les dev , a passer sur une plateforme supérieur )
Comment peut tu géré cela surtout si tu as des centaines de sources à updaté ?
Ce qu'il me semble (mais je ne connais pas l'ensemble des API) c'est que bien souvent Microsoft utilise des types de variables basées sur des structures, souvent ce sont ces structures qui changent avec les versions, pas les API. Cela ouvre pour la même API de nouvelles fonctionnalités. Mais MS développe aussi de nouvelles API mais la compatibilté de l'ancienne API avec le nouvel OS reste.
Pour moi, le plus difficile c'est de trouver l'API qui va bien dans la doc monstrueuse de MS, pas de l'utiliser, même si parfois on a mal à la tête et on gueule un coup parce que l'on y arrive pas.
Il est clair que si l'on veut un développement Windows, MAC, Linux, utiliser les API est possible mais entraine une compilation conditionnelle qui devient fastidieuse à gérer.
Pour finir, je pense qu'essayer de développer un logiciel en PB sous Windows sans utiliser les API devient vite difficile à faire (je ne parle pas de quelques centaines de lignes, mais de milliers).
De même, l'interception d'événements sur les gadgets reste limité, il faut prévoir les callback sous Windows.
A force d'utiliser les API d'énumération des ressources des fichiers (FindResource, FindResourceEx, LoadResource, LockResource, SizeofResource, BeginUpdateResource etc.) que je trouvais pénible au début, je me suis rendu compte plus tard que c'était franchement excellent comme système.
J'ai écris des fonctions similaires pour énumérer les fichiers au format ico et les fichiers librairie au format .icl NE pour PureIconManager. Ca marche franchement bien, cela permet de retrouver facilement les éléments du fichier que l'on recherche.
Ce que tu dis pour Microsoft est valable pour pour PB. Depuis l'an 2000 (c'est cette année là que j'ai découvert PB), les nombreuses versions de PB obligent parfois/souvent de changer son code pour qu'il fonctionne avec la nouvelle version. Certain sur le forum se souviennent peut-être qu'au début les constantes pouvaient évoluer, aujourd'hui c'est terminé. Il a fallu recoder tout les projets sur lesquels on travaillait. Des commandes PB disparaissent, d'autres évoluent et ce n'est pas toujours compatible d'une version à l'autre.
A+
Denis