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
- 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 .
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 ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
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.
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
Voilà,voilà...
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 !
; ********************************************************************************************************
; 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
; *****************************************************************
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 !
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
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique http://golfy.olympe.in/Teo-Tea/
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
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....