Page 3 sur 4

Publié : mar. 18/août/2009 7:06
par Le psychopathe
GeBonet a écrit :Ben merci à FRED et l'équipe pour cette nouvelle version....
Et apparemment plein de nouvelles agréable comme Map etc... Bref !

Je viens de la charger cette Beta1, de la placer dans un nouveau répertoire bien à elle et de la lancer...
Malheureusement pour moi... Il s'est chargé normalement, à lu les fichiers que PB 4.31 traitais, puis au dernier !!! Le message fatal !

And Error as been in the IDE
Error: Involved Acces Memory !


J'ai alors viré les applications PB 4.31 à partir de 4.31... Et j'ai recommencé ! IDEM !!!
Sauf que là il n'a rien lu et donné de suite après avoir chargé le même message...

Suis sous XP SP3 4 Giga Mémoire... Pratiqué comme de 4.2 à 4.3, 4.31 en gardant 4.3 comme j'avais gardé 4.2 avec 4.3...
Ou est le problème ? Si quelqu'un a une idée... elle serait la bien venue pour l'installer et tester certaines choses ?

En attendant j'attendrais bien jusque la doc !

Merci
J'ai le même genre de soucis sous Vista 64 bit avec la version x86 de PB
Et sous windows xp 32bits.
L'éditeur plante souvent

Publié : mar. 18/août/2009 8:12
par Progi1984
Flype a écrit :PureBasic 4.40 beta2 disponible :

http://forums.purebasic.com/english/vie ... hp?t=38637
- Added UsePostgreSQLDatabase()
- Changed FillMemory() to FillMemory(*Memory, Size [, Value [, Type]])
- Removed the "UserData" parameter from CustomGradient() and its callback (to fit the other PB callbacks)
- Added #PB_2DDrawing_CustomFilter drawing mode (ImageOutput only)
- Added CustomFilterCallback()
- Added AlphaBlend(Color1, Color2) - blend two 32bit colors


à noter donc, le support des bases de données PostgreSQL - très bon point.

à noter aussi que la team ne fera à priori pas de plugin pour MySQL pour des raisons de licences. Dixit Fred le 23 Juillet dernier. Aussi, pour cette raison il a choisi de supporter l'autre BDD Open-Source PostgreSQL. Donc pas de MySQL natif, mais il n'en reste pas moins qu'il s'interface facilement.
Fred a écrit :I was looking to integrate native mysql support to PB via a database plugin, and while browsing the libmysql sources, i saw it was licensed as GPL. After a few search on google, even PHP5 removed native support of mysql because of license constraint.

What does it means ? It means than if you use this lib (dll or statically linked) in a non-GPL program you have a to buy a license to mysql. That's quite disappointing for such a 'free' database manager. Just wanted to let you know to avoid bad surprises.
Fred a écrit :I was looking for a "professional" database support. With ODBC you can already use mysql and such, but it's not build-in and can be problematic with crossplatform. The alternative to mysql is Postgresql which is an high peformance, totally free and reliable database server. So stay tuned :).
Traduction francaise du changelog :
http://blog.developpez.com/progi1984/p7 ... 40-beta-2/

Publié : mar. 18/août/2009 13:32
par comtois
Quelqu'un aurait un exemple pour ouvrir une base PostgreSQL ?

Comment procéder ?

il ne manque pas une constante pour OpenDataBase ?
il y a #PB_Database_SQLite et #PB_Database_ODBC et rien pour PostgreSQL ?

Publié : mar. 18/août/2009 14:48
par Geo Trouvpatou
Salut.

Bon, j'y suis allé de mes envies personnelles, de mes remarques sur cette nouvelle version et pas même un remerciement :oops:.

Alors merci beaucoup Fred ainsi que la Team pour tout le boulot que vous faites.

MERCI.

Publié : mar. 18/août/2009 17:02
par gansta93
Salut,

C'est cool cette version, avec la venue de la version 64 bits de Linux ^^ en plus j'ai réussi à l'installer, merci Meganet au passage pour le tuto on ne peut plus claire:D je vais pouvoir bien tester maintenant.

Merci la team PB ! :)

Publié : mer. 19/août/2009 15:51
par GeBonet
Bonjour,
Pour le problème IMA que j'ai soulevé, les solutions sont là !
Num3 a écrit :
GeBonet a écrit :Tanks....
But i have this :
An Error has been detected in the IDE !
ERROR : Ivalid memory access
File : c:\svn\v4.40\Fr34k\PureBasaicIDE.addTools.pb
Line : 50

Sorry :(
Same here...
La Solution de Freak !
freak a écrit :fixed.
The problem are tools set to execute at editor start or end. Just remove that from the Tools.prefs until the next beta. (the prefs line is "Trigger = 1" or "Trigger = 2" for them)
Verifier que dans le Tools.prefs "Trigger = 0" partout et ça fonctionne... OU
ts-soft a écrit :I think the problem isn't the PureBasic.prefs, it's the Tools.prefs
I have delete my Tools.prefs to solve the problem.
C'est plus radical supprimer le Tool.prefs...

Moi, je me suis contenté de mettre à zéro le "Trigger" de "ExtraTools.exe" si vous l'avez installé sous PB 4.31...
Et ça va aussi :lol:
Voilà,voilà...

Publié : dim. 23/août/2009 18:35
par beauregard
beta 2, faut que je m'y mette moi...

Publié : lun. 24/août/2009 10:37
par GeBonet
Bonjour,
Parmi les nouveautés ! Une que j'ai trouvé pas mal et "compris je crois"
et j'en donne un exemple extrait de "Survival Guide" et commenté en français ici !

Code : Tout sélectionner

; ********************************************************************************************************
;  LA Nouvelle fonction :                             "Threaded Variable"                                            
;  ---------------------------------------------------------------------------------------------------------------------------
; Pour qu'une variable soit "visible" dans un processus que l'on appelle il faut normalement la déclarer comme globale. 
; 
; Avec la instruction : "Threaded" Var, il est possible que Var soit considéré comme globale seulement par les Threads
;  ------------------------------------------------------------------------------------------------------------------------------------------------------
;  On appelle thread un processus qui s'exécute : Un "CreateThead(@....)" s'execute quand il a la "main" 
;  soit quand le programme qui l'a crée marque une pause ou a le temps... Si plusieurs Threads sont crées 
;  par la même séquence de programme ils seront traités dans un ordre dépendant de la disonibilité...
; 
;  Par exemple : Dans la séquence ci dessous, il y a un "MessageRequester" entre les créations, (neutralisé)
;  alors forcément pendant l'attente chaque précédent "Threads" s'execute... 
;
;  Mais si je ne l'aissais que le dernier, nous aurions les exécutions des Threads qui s'exécuterais "pas forcément" dans l'ordre... 
;  Cela dépend exclusivement de la disponibilité et l'ordre dans la pile d'execution.  Pour s'en rendre compte il suffi de mettre
;  l'ensemble ci-dessous dans une boucle (comme c'est le cas) .... 
;  -------------- ------------ ----------- -------------- ------------ ----------- -------------- ------------ -----------
; Voyons cela en exemple : 
; ---------------------------------
Threaded Var.s = "Valeur de départ"  ; La variable "Var.s" est déclarée Globale pour les Threads 
;                                                               mais est aussi locale avant toute autre affectation locale.
Procedure change(*parameter)
      Var = "**** thread  Change : "+Str(*parameter)
EndProcedure
;
Procedure thread(*parameter)
      Static a=2                                         ; Placé ici pour compter les passage....
      a+1
      Debug "* thread "+Str(*parameter) ; Affiche l'état du paramètre passé ICI  cela devrait être : le N° de "*parameter" (1,2,3)
      Debug Str(a)+"-"+Var                      ; Affiche la variable "Declarée" comme globale POUR THREADS donc "Valeur de départ"
      change(*parameter)                         ; Appel une autre procédure avec le même paramétre Mais la elle va changer d'affectation 
      Debug Str(a)+"-"+Var                      ; Et ici Afficher le résultat du changement local dans la Threads
EndProcedure
;
; ************************ Corps du programme ************************************************
;
For j=1 To 5                                         ;    Boucle pour test peut-être neutralisée.... 
    Debug "* Début * Boucle N° : "+Str(j)+" <"
    Debug "------------------------------------"
    Debug "1-"+Var                               ; la première fois "Var" garde sa première affectation et donc 
    ;                                                          je dois avoir "Var" = "valeur de départ" la toute première fois 
    ; 
    Var = "Maintenant"                           ; Puis je le change en "Var" en "Maintenant" qui va rester la N° 1
    Debug "2-"+Var                              ; Donc Ici je dois avoir "Var" = "Maintenant"
    Debug "-----------*------------"
    ;                                                         MAIS DANS l'appel à ===>  thread(*parameter)   Quel est le comportement de "Var"
    ;                                                         Malgré l'affectation dans change(*parameter) en "Var" = "**** thread  Change : "+Str(*parameter)
    ;                                                         -------------------------------------------------------------------------------                             
    CreateThread(@thread(), 1)                 ; Création du premier Premier Thread .... 
    Debug "---------* *----------"                    ; Pourquoi cela apparait avant l'appel 
    ;****************
    ;MessageRequester("","Continue",#PB_MessageRequester_Ok)
    ;
    CreateThread(@thread(), 2)                ;  Deuxième Thread ....
    Debug "------* * * -------"                       ; ------------------------------------------------------------------------- 
    ;****************                                                    
    ;MessageRequester("","Continue",#PB_MessageRequester_Ok)
    CreateThread(@thread(), 3)                ;  Troisième Thread                                  (Peut ajouter des Créations)
    Debug "------* * * * -------"                    ; ------------------------------------------------------------------------- 
    ;****************
    MessageRequester("","Continue",#PB_MessageRequester_Ok) ; Au moins un pour observer l'effet des Treads !
    ;
    Debug "----* * * * ----"                          ; ------------------------------------------------------------------------- 
    Debug "* Fin *"                                    ; et à la fin ... !!!
    Debug "-----------------------------------"  ; je reste avec "Var" ayant la denière valeurs affectée 
    Debug "Dernier = "+Var                      ; à "Var", c'est à dire "Maintenant"
; -----------------------------------------------------------------------------------------------------------------------------
Next j
; *****************************************************************
ET pour qui le veux l'adresse de Survival Guide qui met sa doc à jours au fur et à mesure : http://www.xs4all.nl/~bluez/datatalk/purebasic.htm
Voilà, voilà en espérant que cela puisse servir :lol:

Publié : lun. 24/août/2009 18:10
par Geo Trouvpatou
Merci pour ton lien GeBonet, j'ai beau être un peu allergique à l'anglais, mais déjà on trouve des exemples des nouveautés de la 440 comme Maps.

Juste au dessus il y a LinkedList et ce qu'il y a de bien c'est qu'il y a plusieurs exemples concrêts.

Je ne connaissais pas ce site.
[EDIT] Une vrai mine d'informations :) j'y retourne avec ma pioche.

Publié : lun. 24/août/2009 19:36
par GeBonet
C'est en effet un chouette site gérer par "blueznl" un des "PureBasic Expert" du forum officiel... Ce serait vraiment chouette d'avoir le pendant en français ! :lol:

Publié : sam. 29/août/2009 11:22
par beauregard
Avez vous remarquez qu'il n'y a plus d'encodage du fichier source( UTF - 8 ) dans Options de compilateur :?:

Publié : sam. 29/août/2009 11:59
par gansta93
beauregard a écrit :Avez vous remarquez qu'il n'y a plus d'encodage du fichier source( UTF - 8 ) dans Options de compilateur :?:
Parce que ça a changé d'endroit, Fichier->File format. :)

Publié : mar. 01/sept./2009 18:41
par beauregard
gansta93 a écrit :Parce que ça a changé d'endroit, Fichier->File format. :)
merci :)

Publié : mer. 02/sept./2009 15:09
par Golfy
Ar-S a écrit :AddWindowTimer(), RemoveWindowTimer(), #PB_Event_Timer, EventTimer()... Serait-ce un genre de thread qui vérifie l'heure de l'os à interval réguiler ? Si oui ça va m'être très pratique.
Génial ! il semble possible de lancer des actions à intervalles cycliques (une action par timer). Par contre, combien de timer maximum... vivement doc :roll:

Publié : mer. 02/sept./2009 22:55
par Backup
Golfy a écrit :
Ar-S a écrit :AddWindowTimer(), RemoveWindowTimer(), #PB_Event_Timer, EventTimer()... Serait-ce un genre de thread qui vérifie l'heure de l'os à interval réguiler ? Si oui ça va m'être très pratique.
Génial ! il semble possible de lancer des actions à intervalles cycliques (une action par timer). Par contre, combien de timer maximum... vivement doc :roll:
a mon avis ça reprends ce qu'on faisai deja ...

regarde rubrique debutant, les tutos , ya un tutos sur les Timers..... :)

je pense que Fred a inclu la meme chose mais de façon simplifié en ecriture....