PureBasic 4.40 beta 5

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Re: PureBasic 4.40 beta 5

Message par beauregard »

Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: PureBasic 4.40 beta 5

Message par Le Soldat Inconnu »

Elle leur aura donné du boulot, cette 4.40 :)
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
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: PureBasic 4.40 beta 5

Message par Ar-S »

ça me dérange pas qu'ils prennent leur temps pour la peaufiner/débugger :wink:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 4.40 beta 5

Message par Kwai chang caine »

Mouaaaihhh !!! :(
Bah KCC y avait peur de la 4.40 et il savait pas pourquoi

Et ben maintenant y sait... :?
Deja que j'ai un mal fou a faire marcher mes DLL
Je me suis dit....KCC....tout le monde y te dit de prendre la 4.40 ...y faudrait bien que tu t'y mette "Gourgandine" :roll:

Bon n'ecoutant que mon courage, je tente pour la seconde fois de creer un projet.
Et 22 000 BOUING plus tard....je croyais que c'etait une non reconnaissance de mes CONSTANTES RES ou mes includefiles...et ben non.

"Quoi que j'apprend-je" ???
Le callfunction il a changé 8O

On peut plus envoyer directement une string a une DLL :?
Car le nouveau compilateur, il envois plus obligatoirement l'adresse de la string
http://www.purebasic.fr/english/viewtop ... 13#p298213

Super je vais avoir une centaine de fonctions à modifier :x

Finit d'ecrire ça :

Code : Tout sélectionner

CallFunction(0, "Function", "Kcc")
Maintenant faut ecrire ça

Code : Tout sélectionner

CallFunction(0, "Function", @"Kcc")
Ou ça

Code : Tout sélectionner

CallFunction(0, "Function", @a$)
Avec le fait que j'ai encore pas tout compris des projets...
Je sens que ça va etre le grand amour la V4.40 et moi :?
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: PureBasic 4.40 beta 5

Message par Anonyme2 »

Salut KCC,

moi aussi ça m'a pris du temps sur mon projet de changer les callfunctionFast et je me suis dit, si ça change encore, j'ai pas fini.

J'ai tout passé en prototype, le compilateur vérifie même le type des paramètres, peut même forcer des valeurs en unicode/ASCII/UTF8 (pseudotypes) alors qu'avec le callfunction, aucun contrôle.

C'est pas très dur, juste une gymnastique.

A+
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: PureBasic 4.40 beta 5

Message par Le psychopathe »

Bon nous allons espérer pour cette semaine ^^
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 4.40 beta 5

Message par Kwai chang caine »

Denis a écrit :Salut KCC,
moi aussi ça m'a pris du temps sur mon projet de changer les callfunctionFast et je me suis dit, si ça change encore, j'ai pas fini.
J'ai tout passé en prototype, le compilateur vérifie même le type des paramètres, peut même forcer des valeurs en unicode/ASCII/UTF8 (pseudotypes) alors qu'avec le callfunction, aucun contrôle.
C'est pas très dur, juste une gymnastique.
A+
Merci mon bon DENIS de ton soutien 8)
On est dans la meme "barquette"

C'est vrai que les voies du seigneur sont impénétrables...et puis meme si elles ne le sont pas....la vie privée de FRED ne nous regarde pas :lol:
Mais bon, y'a surement une raison pour que DIEU est changé tout ça.
La V4.40 c'est pas vaseliné, comme le passage v3.94 et 4 :|

Merci de m'avoir parlé des PROTOTYPES, car j'ai bien vu que SROD il en parlait...Mais tu va etre étonné.....j'avais pas compris :mrgreen:
Heureusement que tu me le dit maintenant, car je me serait pas vu remodifier mes 100 fonctions une deuxieme fois :?

Bon les PROTOTYPES, ça fait 3 fois que je me penche dessus, et que j'accroche pas ...j'ai pas du comprendre l'interet.....normal c'est de la haute voltige....et KCC il est deja fier de pouvoir monter au 2e barreau..alors lui demander d'etre sur le plateau en haut.... 8O et sauter ......... j'en rit d'avance :lol: :lol:

Je vais essayer de suivre les conseils de deux MAITRES..apres tout......... ça va me changer de l'ecole :?

PROTOTRUC.....me voila :mrgreen:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PureBasic 4.40 beta 5

Message par djes »

Je ne m'en sers pas souvent, mais franchement, je trouve les prototypes bien plus simples!
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 4.40 beta 5

Message par Kwai chang caine »

Bon vous aviez raison tous les deux ....comment aurais je pu en douter... :oops:

Pour me reposer...je me suis assis sous un arbre et dieu lui meme m'a causé 8O
Il m'a dit :

Caaaaaa Céééééé Céééééé .....Aaaaaaaaabaaaandonne cooooommmpletemeeeent les coooooolllfonctions 8O

J'suis sur que personne y me crois encore :?
Et ça.....c'est du fromage blanc ???? :?
http://www.purebasic.fr/english/viewtop ... 29#p304929

Eeeeet ooouuiiiii tssss tssss tssss !!!!
Ne vous en déplaise.....KCC y cause avec les dieux :roll:

Car ........heureux les simples d'esprit..... :mrgreen:
Dernière modification par Kwai chang caine le mer. 04/nov./2009 11:48, modifié 1 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 4.40 beta 5

Message par Kwai chang caine »

djes a écrit :Je ne m'en sers pas souvent, mais franchement, je trouve les prototypes bien plus simples!
DJES je t'adore tu le sais 8) ....mais comment vous faites pour trouver plus simple quelque chose qu'il faut rajouter des lignes en plus pour que ça fasse la meme chose :?

C'est comme la nouvelle lessive, le nouvel "OUMOULE" avec les noeuds...C'est pareil qu'avant, mais t'as toute la semaine apres pour defaire les noeuds (Michel)

Qu'est ce qui peu etre plus simple que ça :

Code : Tout sélectionner

CallFunction(Library, "Function")
D'ailleur si KCC il a compris tout de suite..c'est quand meme un indice non ??? :mrgreen:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: PureBasic 4.40 beta 5

Message par Anonyme2 »

Je te montre comment j'ai fait dans mon code, voila la procedure, il y a en remarque la ligne suivante qui sera changé par un prototype :

Code : Tout sélectionner

; If CallFunctionFast(*lpEnumFunc, hModule, i, lParam) = #Stop_Enumeration
Cette ligne est remplacée par la ligne :

Code : Tout sélectionner

If Callback(*hModule, i, lParam) = #Stop_Enumeration
et Callback est une variable locale déclarée comme ceci

Code : Tout sélectionner

Protected Callback.PIM_EnumResourceNames_ICO_File = *lpEnumFunc
et *lpEnumFunc est l'adresse de ma fonction callback (tu sais celle dont tu raffoles ...)

et le prototype à déclarer avant tout ça est défini comme ceci

Code : Tout sélectionner

Prototype.i PIM_EnumResourceNames_ICO_File(*hModule, i, lParam)
les 3 paramètres étant les 3 derniers paramètres de If CallFunctionFast(*lpEnumFunc, hModule, i, lParam)

Code : Tout sélectionner

ProcedureDLL.i PIM_EnumResourceNames_ICO_File(*hModule.PIM_LoadFileToMemory_EX, *lpEnumFunc, lParam)
     ;///////////////////////////////////////////////////////////////////////////////////////////////////
     ;//
     ;// FONCTION: PIM_EnumResourceNames_ICO_File()
     ;//
     ;// BUT: Permet d'énumérer les icônes d'un fichier ico
     ;//      Le paramètre *lpEnumFunc est l'adresse d'une procedure qui sera appelée pour faire les
     ;//      opérations nécessaires sur les valeurs énumérées.
     ;//
     ;// PARAMS: *hModule - pointeur sur la variable PIM_LoadFileToMemory_EX utilisée pour mémoriser les données
     ;//                   du fichier ICO
     ;//         *lpEnumFunc - adresse d'une procedure qui sera appelée pour faire les opérations
     ;//                       nécessaires sur les valeurs énumérées.
     ;//         lParam - Valeur passée par la fonction appelante et correspond ici à l'adresse de
     ;//                  d'une variable de type InfosResourceEx qui stocke les infos  sur les icônes et groupes
     ;//
     ;// RETOURNE: #Continue_Enumeration (=#True) si l'énumération continue (tant qu'il y a des icônes)
     ;//           #Stop_Enumeration (=#False) si l'énumération doit stopper en cas d'erreur
     ;//
     ;//
     ;//  La callback est de la forme :
     ;//
     ;//       Procedure EnumResNameProc(hModule, ItemPosition, lParam)
     ;//          xxx
     ;//       EndProcedure
     ;//
     ;// PARAMS: *hModule - pointeur sur la variable PIM_LoadFileToMemory_EX utilisée pour mémoriser les données
     ;//                   du fichier ICO
     ;//         ItemPosition - position de l'icône dans le fichier car ies icônes n'ont pas d'identifiants
     ;//         lParam - Valeur passée par la fonction appelante et correspond ici à l'adresse de
     ;//                  d'une variable de type InfosResourceEx qui stocke les infos  sur les icônes et groupes
     ;//
     ;//
     ;///////////////////////////////////////////////////////////////////////////////////////////////////
     
     ;// mémorise l'adresse du contenu de la ressource, à partir du début du fichier modifié dans chaque boucle
     Protected *Memory_Add_temp.IconDir_0
     ;// pointeur sur les éléments mémorisants les données d'énumération
     Protected *ResourceInfos.InfosResourceEx
     ;// compteur de boucle
     Protected i
     ;// variable prototype de la callback d'énumeration
     Protected Callback.PIM_EnumResourceNames_ICO_File = *lpEnumFunc
     
     
     ;// si un des pointeurs est nul, on stoppe l'énumération
     If (*hModule = #Null) Or (*hModule\Pt_Memory_File_Address = #Null) Or (*lpEnumFunc = #Null) Or (lParam = #Null)
          PIM_SetError_Code(#Error_Code_Pointeur_Null)
          ProcedureReturn #Stop_Enumeration
     EndIf
     
     ;// mémorise la valeur du pointeur, ce pointeur va évoluer
     *Memory_Add_temp = *hModule\Pt_Memory_File_Address
     
     ;// si pas d'icônes à traiter, on stoppe l'énumération
     If *hModule\Icon_Number <= 0
          PIM_SetError_Code(#Error_Code_ICON_Number)
          ProcedureReturn #Stop_Enumeration
     EndIf
     
     ;// ici on va appeler la procedure pointée par *lpEnumFunc pour chaque icône
     ;// on teste que les structures se situent bien dans la zone mémoire, y compris le word qui suit
     If (@*Memory_Add_temp\idEntries[*hModule\Icon_Number] + SizeOf(IconDirEntry) -1 > *hModule\LastMemoryAdress)
          PIM_SetError_Code(#Error_Code_Reading_Writing_Over_LastMemoryFileAdress)
          ProcedureReturn #Stop_Enumeration
     EndIf
     
     For i = 1 To *hModule\Icon_Number
          ;// on appele la callback en passant la position (i) de l'icône
          ;// le premier icône a l'indice 1
          
          If Callback(*hModule, i, lParam) = #Stop_Enumeration
               ; If CallFunctionFast(*lpEnumFunc, hModule, i, lParam) = #Stop_Enumeration
               ;// l'utilisateur a arrêté l'énumération
               ;// si il y a un code d'erreur, on retourne #Return_Error, sinon on retourne #Return_No_Error
               If PIM_GetError_Code()
                    ProcedureReturn #Return_Error
               Else
                    ProcedureReturn #Return_No_Error
               EndIf
          EndIf
     Next
     
     ;// retourne #Continue_Enumeration pour continuer l'énumération
     ProcedureReturn #Continue_Enumeration
EndProcedure
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: PureBasic 4.40 beta 5

Message par Kwai chang caine »

Merci DENIS 8)
Et ben.....KCC il est pas sorti de l'auberge :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre