Moebius

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

J'ai testé mais j'ai la même erreur sur le fichier lib qui n'existe pas :cry:

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
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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
Image
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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$)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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)



Image
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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+
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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.

Code : Tout sélectionner

s_resourcename:
  dd     4
  dd     8
  dd     -1
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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
Image

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.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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
Image

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.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Autant de ton coté que du mien.

Je vais tester avec mes libs dés que possible...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

tu peux prendre la source de mes libs sur mon site si tu cherches des lib pour tester :roll:
(j'avoue que c'est bien tout ce que je peux faire, j'suis un poil perdu)
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message 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.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Je m'excuse de venir perturber un POST d'aussi haut niveau.
Mais une question me brule la langue :oops:

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 ???? :roll:

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 ..... :roll:
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message 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 :mrgreen:

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.
Répondre