Perfectionner la fonction OpenLibrary()

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Perfectionner la fonction OpenLibrary()

Message par Ollivier »

Bonjour, comme son nom l'indique, OpenLibrary() ouvre une librairie.

Or, cette librairie exige parfois l'ouverture d'une autre librairie.

Alors, le débogueur permet de connaître si "exigence" il y a, et indique par un BoxMessage, quel fichier librairie lui manque.

C'est déjà pas mal, mais ce n'est pas très orthodoxe...

D'autant plus que si le débogueur n'est plus utilisé, l'application crashs (ou pas, mais dans ce cas-là, les fonctions de la librairie qui nécessitent une ou plusieurs librairies sous-jacentes, ben elles, elles vont crasher tôt ou tard...)

Ce qu'il faudrait, c'est accéder au listing des librairies sous-jacentes à l'instar d'un PackFile ou d'une lecture de dossier, pour charger, par récursivité ou via une pile, les librairies sous-jacentes (ça faut que ça reste libre au programmeur).

Le code donnerait:

Code : Tout sélectionner

If OpenLibrary(MonNumeroDeLibrairie, nianiania...) = 0
Handle = OpenSubLibraries(#Pb_Any, nianiania...)
While NextSubLibrary(Handle)
A$=GetSubLibrary(Handle)
blablabla...
Wend
CloseSubLibraries(Handles)
Endif
Par contre, il faut éviter de faire un perfectionnement de OpenLibrary() qui serait strictement automatique (ou alors ajouter une option facultative) et qui ouvrirait tout, d'un coup sans que le programmeur n'en ait le souhait, alors que lui souhaite que son programme vérifie l'intégrité d'une librairie sous-jacente, par exemple...