Je ne sais pas si ce n'est qu'avec TailBite que ça marche, mais il me semble que l'on peut définire des variables (globales par exemple), des structures etc à l'extérieur de procédures.PureBasic permet de créer des librairies dynamiques liées au standard Microsoft Windows (DLL : Dynamic Linked Library). Le code d'une DLL est de même nature que le code PureBasic excepté qu'aucun code ne peut exister en dehors d'une procédure. Lors de l'écriture d'une DLL, tout le code est intégré dans des procédures. Lorsqu'une procédure doit être publique (accessible par un programme tiers qui doit accéder à la DLL), le mot clef ProcedureDLL est utilisé au lieu de Procedure. C'est la seule différence pour écrire un programme.
Si je me trompe, que l'on me corrige, mais sinon il serait bien que cela soit corrigé dans la doc.
De plus, ProcedureCDLL n'es plus documenté alors que dans la doc du site, il me semble qu'il y a quelque chose dessus.