Droopy a écrit :Désolé de te contredire Denis mais les labels ainsi que les data sont accessibles dans une lib ( avec Tailbite ) alors qu'ils déclarés à l'extérieur de la procédure.
donc met tes data hors procédure et tu y accède sans pb
Je ne sais pas si on se comprend Droopy
Je pense (mais je ne détiens pas la vérité

) ceci
Le code PB qui va appeller une fonction d'une librairie est une chose, le code PB ou asm ou C dont la lib est faite en est une autre.
Si dans une lib tu utilises des datas déclarés dans cette lib, aucun problème (voir mon message, j'ai écris tout ce qui est hors de la lib, pas hors des procédures de la lib), tu peux utiliser dans la lib sans problème les labels déclarés dans la lib;
Mais pour Progi1984, c'est un utilisateur qui va créer son propre code PB et déclarer dans son propre code PB (donc pas dans la lib) les DATAS
Puis il va passer à une fonction de la lib, le label et c'est là que les problèmes arrivent. Le label est inconnu de la lib; la fonction Restore utilise un label et c'est gênant dans ce cas; cette commande devrait accepter une adresse et on pourrait passer dans l'exemple
?maliste
Si tu met ceci
PureBasic va interpreter maliste comme une variable, rien à voir avec le label; si tu doutes, cré un fichier avec le code que j'ai posté, coche l'option activer l'assembleur en ligne dans les options de compilaton;utilise PureASM avec ce fichier et regarde le code asm.
Ce qu'il faut comprendre avec les librairie utilisateur, c'est que l'on a pas accès avec le code PB aux variables propres à ces lib et les variables du code PB qui utilisera une lib utilisateur sont inconnues de la lib, sauf à passer par l'assembleur. J'ai déjà parlé de ça dans de précédant post ici même. D'ou si dans un code PB, tu utilise une liste chaînée, elle sera inconnue de la lib etc.
La lib est une entité fermé, on lui passe des paramètres et éventuellement elle retourne une valeur.
J'espère avoir été clair.
