Page 8 sur 26
Publié : lun. 02/févr./2009 7:07
par Anonyme2
J'ai testé mais j'ai la même erreur sur le fichier lib qui n'existe pas
Par rapport à la version que je t'ai envoyé, j'ai ajouté au moins une fonction
1) j'ai réussi à valider une chemin incorrect, c'est-à-dire sans la lettre du lecteur.
Lorsque j'ai mis le chemin avec un copier coller, il n'en veut pas! avec le bouton ça marche.
En écrivant ces lignes, j'ai eu un déclic et j'ai regardé l'ini et le voici, validé avec des erreurs!
Il manque les deux points à toutes les lignes sauf la première.
[PATH]
PureBasic = K:\PureBasic\
PBCompiler = K\PureBasic\compilers\pbcompiler.exe
PBFasm = K\PureBasic\compilers\fasm.exe
PBObj2Lib = K\PureBasic\compilers\polib.exe
PBLibMaker = K\PureBasic\SDK\LibraryMaker.exe
Tu grises le bouton configurer, ainsi c'est pas possible de reconfigurer sans fermer (et encore même en réouvrant le bouton est grisé), faudrait modifier.
Il faut tester que chaque dossier/fichier existe avant de proposer une compilation.
2) Je rentre un nom pour la librairie mais il change et le nom de la librairie prend le nom de mon fichier principal, ce n'est pas ce que je veux, je veux donner le nom que je désire au fichier librairie créé.
3) après avoir fermé la fenêtre qui dit qu'il n'y a pas de fichier lib, que j'ai coché ou non le fait de créer le fichier log, il n'existe pas.
Comme c'est un fichier d'aide au debuggage, je pense que tu le fermes à la fin.
Peut-être que chaque fois que tu écris des infos dedans, il faut le fermer, ça permet le fait qu'il existe.
4) avec la boite à cocher 'effacer les fichiers source après compilation' décochée, ça efface quand même les fichiers sauf le dossier log (vide) le fichier Purebasic.asm et le fichier PureLibrariesMaker.log
Publié : lun. 02/févr./2009 9:44
par Anonyme2
A propos du GUI
Je ne pense pas que les textgadget PBCompiler, PBFasm, PBObj2Lib soient pertinents, il serait mieux de les supprimer.
Je ne sais plus ou tu en es dans la todolist, mais j'espère qu'on aura la possibilité de définir le dossier des sources, avec un bouton permettant d'ouvrir le dossier des sources dans l'explorateur de fichier.
Publié : lun. 02/févr./2009 10:20
par Progi1984
Beta 3 :
Aprés reception de tes fichiers, j'ai encore pu amélioré la détection des extrn.
Code : Tout sélectionner
Beta #3
FIXED Detection des extrn : ejection des e*i
FIXED GUI : Tests des filesize pour la validation
FIXED GUI : On ne modifie pas le nom de la librairie lors du chargement du fichier si un nom de lib a déjà été choisi
FIXED GUI : Probleme d'effacement du dossier
File:1->
Moebius_beta3.zip

Publié : lun. 02/févr./2009 16:24
par Anonyme2
Avec la dernière mouture, j'ai bien une lib de créée.
Mais il y a quelques erreurs dans le desc
Par exemple, pour la fonction PIM_IS_FileFormat_NE
Elle accepte un paramètre chaine mais le desc est déclaré avec un long
PIM_IS_FileFormat_NE, Long, (FileName$)
Idem avec :
PIM_LoadFileToMemory, Long, Long, (File$, *MemoryAdd.integer)
PIM_IS_FileFormat_PE, Long, (FileName$)
etc.
peut-être que tu ne détectes les chaines qu'avec un .s et pas le $
PIM_IS_FileFormat_ICO, Long, (FileName$)
PIM_GET_FileFormat, Long, (FileName$)
PIM_IconNumberFrom_IcoFile, Long, (FileName$)
Publié : lun. 02/févr./2009 16:31
par Anonyme2
J'ai corrigé le desc et j'ai compilé avec mon outil et j'ai lancé un exemple et j'ai les erreurs du linker suivantes, je vais chercher un peu, ces étiquettes sont déclarées extrn dans le fichier PureIconManager_Init :
Après recherche, toutes ces étiquettes se trouvent dans le fichier PureiconManager_Constantes_Erreurs.pb que tu as mais elles n'existent dans aucun fichier asm, ces étiquettes et les chaines correspondantes devraient se trouver dans le fichier partagé.
Dans le fichier asm de PB elles sont en datasection puisque c'est comme ça que je les ai déclarées.
section '.data' data readable writeable
l__error_code_no_error:
PB_DataSectionStart:
db "Pas d'erreur détectée",0
l__error_code_no_icon:
db "Le fichier ne comporte pas d'icône (erreur d'intégrité du fichier)",0
l__error_code_unable_to_allocate_memory:
db "Impossible d'allouer de la mémoire pour les opérations (erreur système)",0
l__error_code_unable_to_allocate_memory_for_file:
db "Impossible d'allouer de la mémoire pour le fichier (erreur système)",0
J'ai une autre datasection dont la déclaration n'existe pas dans le fichier asm (elle est dans le fichier PureiconManager_DataSection.pb)
Si tu regardes le fichier
PureIconManager_Main_Shared.asm, la datasection est déclarée à la fin mais elle est vide
(section '.data' data readable writeable)

Publié : lun. 02/févr./2009 17:05
par Anonyme2
Voilà, il faut déclarer ces labels Public, par exemple
public l__error_code_no_error
public l__error_code_no_icon
puis les déclarer en datasection, et là le problème devrait être résolu.
Je suis en train de le faire à la main (c'est fastidieux) et effectivement les erreurs Polink diminuent.
A+
Publié : lun. 02/févr./2009 17:56
par Anonyme2
J'ai corrigé ces erreurs et j'en ai encore 2 du linker.
Une sur
F1 qui est utilisé dans le fichier asm PIM_Version
Pas déclaré Public et pas définie en datasection
Une autre avec s_resourcename, idem Pas déclaré Public et pas définie en datasection. Elle est utilisée dans le fichier PIM_EnumResourceGroupName_PE_File et c'est une variable chaine utilisé par la variable
Protected Local_ResourceInfos.ResourceName basé sur la structure
Code : Tout sélectionner
Structure ResourceName
ResourceGroupnumber.i
ResourceGroupId$
ResourceGroupNames$
EndStructure
La je fais des suppositions,le -1 doit indique la fin des valeurs utilisées par PB, c'est un code utilisé aussi si je me souviens pour définir les éléments d'une liste chaînée.
Publié : mar. 03/févr./2009 8:37
par Progi1984
Bon, mon problème se trouve au niveau de l'extraction des données pour le shared.
Avant je choisissais ce que je mettais dedans, mais bon, c'est bcp trop chiant !
Je vais choisir tout le shared se trouvant dans le bas du Purebasic.asm, enlever les pb_public, faire les declarations extrn pour les labels.
Sous windows, ca fonctionne nickel. Sous Linux, pas encore pu tester.
Faut encore que je fasse le code pour l'extraction et les déclarations.
Publié : jeu. 05/févr./2009 10:01
par Progi1984
Et voici la beta 5.
@Denis : Ca compile ta lib et marche avec tes exemples (puissante ta lib)
File:1->
Moebius_beta5.zip
Code : Tout sélectionner
Beta #4
FIXED Extensions des parametres avec $ = .s
Beta #5
IMPROVEDShared Code
FIXED Bug in replacement of ASM Function by Name Function.
Publié : jeu. 05/févr./2009 11:48
par Anonyme2
Progi1984 a écrit :Et voici la beta 5.
@Denis : Ca compile ta lib et marche avec tes exemples (puissante ta lib)
File:1->
Moebius_beta5.zip
Code : Tout sélectionner
Beta #4
FIXED Extensions des parametres avec $ = .s
Beta #5
IMPROVEDShared Code
FIXED Bug in replacement of ASM Function by Name Function.
Je vais tester Moebius, j'ai ajouté d'autres fonctions et amélioré le code, y'a encore du taf.
Publié : jeu. 05/févr./2009 11:52
par Progi1984
Autant de ton coté que du mien.
Je vais tester avec mes libs dés que possible...
Publié : jeu. 05/févr./2009 15:37
par Le Soldat Inconnu
tu peux prendre la source de mes libs sur mon site si tu cherches des lib pour tester
(j'avoue que c'est bien tout ce que je peux faire, j'suis un poil perdu)
Publié : jeu. 05/févr./2009 16:17
par Progi1984
@LSI, je teste ce soir avec tes 8 libs.
@Denis, juste pour te prévenir que j'avais effacé ta lib comme convenu.
Publié : jeu. 05/févr./2009 16:56
par Kwai chang caine
Je m'excuse de venir perturber un POST d'aussi haut niveau.
Mais une question me brule la langue
Tout le monde parle de TAILLEBITE par ci, TAILLEBITE par la, y'a meme carrement une rubrique sur le forum officiel.
Alors pourquoi en inventer un autre ????
Ceci ne remet evidemment pas mon admiration pour les deux acteurs de cette creation.
Moi a part remuer les deux bras avec des gros ponpons, mettre une jupette, et crier : "Vive
D....E....N...I ....S and
P...R...O...G...I", je peux rien faire pour aider.....mais qu'est ce que j'aimerais .....

Publié : jeu. 05/févr./2009 17:02
par Anonyme2
Kwai chang caine a écrit :
Moi a part remuer les deux bras avec des gros ponpons, mettre une jupette, et crier : "Vive D....E....N...I ....S
Oui, flattes-moi, j'adore
Sinon, je donne un coup de main, c'est tout.
Et puis pourquoi créer Linux, Windows existe, Pourquoi créer PureBasic, d'autre basic existent etc. etc.
C'est d'abord et avant tout un travail personnel je pense, ça permet aussi d'évoluer lorsque l'on cherche comment ça marche.