Librairie Dynamique pour l'IDE PB ???

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Golfy »

1) oui si les fonctions internes de PB changent et que la lib les utilisent (notemment la gestion des strings)
Comment garantir la pérénité d'un programme alors ? imaginons que j'utilise une librairie qui n'est plus maintenue : lors d'un changement de version de PureBasic, que puis-je faire ?
2) oui
Ca c'est cool pour l'encombrement du programme :)
3) Ca c'est pas normal. On peut spécifier par fonction si on veut une version speciale pour le multithreading, mais c'est pas obligatoire. Dans ce cas, il faut explicitement creer une version de la methode pour le multithreading.
Là, ça devient un peu trouble : si c'est pas obligatoire, pourquoi lors de la compilation PureBasic bloque avec un message d'erreur (POLINK error... voir message de gnozal http://www.purebasic.fr/french/viewtopi ... 765#p78765) ?
En fait j'ai besoin d'utiliser un thread pour scanner tous les modules domotique (opération longue et bloquante sans thread : http://www.purebasic.fr/french/viewtopi ... 36#p137336)
Dernière modification par Golfy le ven. 20/janv./2012 16:58, modifié 1 fois.
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Le Soldat Inconnu »

TailBite est vraiment très simple à utiliser.

Tu trouveras des exemples sur le forum, j'avais du en faire pour KCC, de souvenir (encore et toujours lui :mrgreen: )
(ici : http://www.purebasic.fr/french/viewtopi ... t=tailbite )


Pour les thread, c'est pas obligatoire si ta fonction est compatible threadsafe directement, ce qui ne doit pas être le cas si tu manipule des strings, je pense. Car la gestion des strings est différente en threadsafe que en mode mode classique. Fred, j'espère ne pas dire de co...erie
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)]
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Golfy »

Le Soldat Inconnu a écrit : Pour les thread, c'est pas obligatoire si ta fonction est compatible threadsafe directement, ce qui ne doit pas être le cas si tu manipule des strings, je pense. Car la gestion des strings est différente en threadsafe que en mode mode classique. Fred, j'espère ne pas dire de co...erie
threadsafe ? oui j'utilise des string (mais je n'en mets pas :wink: :mrgreen: ) dans la procédure a "threader" mais je ne crois pas transmettre des chaines... ceci étant, j'accède à une liste globale dont la structure contient des string...

j'essayerai de mettre la procédure sur le forum (extrait du programme qui devient maintenant trop gros pour être mis sur le forum). Merci !

d'ailleurs, un grand merci à Dobro, Ar-S et toi qui soutenez fortement le niveau de connaissance de ce forum :D

Désolé KCC, je crois que nous, nous soutenons le bas du forum et sa fréquentation en questions :mrgreen:
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Librairie Dynamique pour l'IDE PB ???

Message par Fred »

Le Soldat Inconnu a écrit :TailBite est vraiment très simple à utiliser.

Tu trouveras des exemples sur le forum, j'avais du en faire pour KCC, de souvenir (encore et toujours lui :mrgreen: )
(ici : http://www.purebasic.fr/french/viewtopi ... t=tailbite )


Pour les thread, c'est pas obligatoire si ta fonction est compatible threadsafe directement, ce qui ne doit pas être le cas si tu manipule des strings, je pense. Car la gestion des strings est différente en threadsafe que en mode mode classique. Fred, j'espère ne pas dire de co...erie
Pas de soucis avec les strings, c'est géré automatiquement.
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Golfy »

Merci Fred :D , je vais ré-essayer ce week-end :roll:
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Librairie Dynamique pour l'IDE PB ???

Message par Kwai chang caine »

Désolé KCC, je crois que nous, nous soutenons le bas du forum et sa fréquentation en questions
T'as raison :oops:
J'ai honte, j'avais oublié que le SOLDAT m'avais tout expliqué...cette fois j'ai tout copié comme pour un code source, je devrais la retrouver l'explication quand je vais la chercher :oops:

Bon d'un autre coté..le fait qu'on soit si bas, les entraine un peu nos tronches... :mrgreen:
Et on leur pose des questions tellement de traviole...que maintenant il sont armé jusqu'au dents dans l'art de repondre :lol:
Je parle pas de FRED...lui il est sur que si PB nous resiste...il peut dormir tranquille :mrgreen:

A la maison, j'ai encore pire que moi (Si ça existe :?) ma femme, si y'a une touche a pas tripoter... 8O :?

Meme dans les aquarium...les poissons mange merde sont utiles :D
Image
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Librairie Dynamique pour l'IDE PB ???

Message par Backup »

Golfy a écrit :Dobro et LSI : votre réponse est sympathique mais cela signifie que je dois apprendre à utiliser TailBite pour compiler des librairies qui ne sont pas les miennes ?
Ou bien est-ce dans PureBasic ?

J'avoue que les librairies restent assez mystérieuse pour moi :oops:
Uniquement si tu dispose du source ... bien sur :)
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Golfy »

Mais alors je ne comprends pas : les librairies passent par "TailBite" pour faire je n'sais quoi mais elles ne sont en sources après ?
quand j'utilise DroopyLib par exemple (encore un que je n'ai pas remercié alors que sa lib est sympa :oops: ) : elle est compilé quand avec mon code ? est-elle "pré"-compilé ? pourquoi faut-il utiliser TailBite ? ça sert à quoi ? on ne peut pas faire des librairies en Purebasic (dans un fichier pbi ou pbv ou pbp ?)
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Librairie Dynamique pour l'IDE PB ???

Message par Backup »

alors pour expliquer rapidement

en purebasic tu utilise sans le savoir des librairies
lorsque tu fait openwindow(trucmch) tu fais en fait appel a une librairie !!
même qu'elle se trouve dans le dossier "\PureLibraries\" et tu fait appel a l'une des procedure de la librairie "Window"

lorsque tu fait des prg tu utilise des procedures standards

ex :

Code : Tout sélectionner

procedure hasard(max)
    x=random(max)
    ProcedureReturn x
endprocedure




pour utiliser la procedure tu l'appel

Code : Tout sélectionner

debug hasard(255)
en fait tout se passe comme si tu avais une librairie avec la commande "hasard"

sauf que tout est dans ton code !!

et maintenant voyons, une librairie "utilisateur"

c'est une librairie (un ensemble de procedure ) dont tu vas te créer toi même les commandes

une petite différence, pour que ta librairie soit utilisable en purebasic , il faut la nommer procedureDLL

Code : Tout sélectionner

procedureDLL hasard(max)
    x=random(max)
    ProcedureReturn x
endprocedure
si tu compile ça avec Tailbite (et que tu utilise japbe)
ta librairie (dont tu aura donné un nom..mettons "trucmuch") sera sauvé dans le dossier
PureLibraries\UserLibraries\ trucmuch

et tu pourra apres avoir relancer le compilateur (sous l'editeur officiel ; sous japbe ça se fait tout seul /// sous EPB pas besoin de relancer le compilateur :) )

utiliser dans tes programmes la commande

Code : Tout sélectionner

 hasard(max)

c'est clair ? :)

bien sur tu dispose du coup, le source de ta librairie :

=>>>

Code : Tout sélectionner

procedureDLL hasard(max)
    x=random(max)
    ProcedureReturn x
endprocedure

mais si tu distribue le résultat de Tailbite (ta librairie compilé)
ben le gars qui la récupère pourra l'utiliser, en la mettant dans son dossier PureLibraries\UserLibraries\ mais pas la modifier !!!
tout comme on ne peut en principe pas modifier un prg compilé :)

une librairie est linké (incorporé) , au moment de la compilation de ton prg
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Re: Librairie Dynamique pour l'IDE PB ???

Message par Golfy »

Cool ! j'ai compris !
finalement pour ma domotique, je pourrais fournir des librairies pour que tous puisse en profiter, "comme" une DLL :)

Par contre à chaque nouvelle version de PB il faudrait (peut-être mais comment savoir ?) que je "tailbite" mon code source pour redistribuer... comme le font gnozal et Droopy, c'est ça ?

Du coup, une dernière question : est-ce que Fred intègre parfois des librairies dans le code officiel de PureBasic ? l'idée est de mettre en "domaine public" un code source pour qu'il soit mis à jour en même temps que Purebasic par l'équipe officielle (des fonctions comme ping en réseau ou smtp, bref des fonctions générales ; pas mes fonctions domotique qui restent trop rares d'emploi) ?
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Librairie Dynamique pour l'IDE PB ???

Message par Backup »

Golfy a écrit :Cool ! j'ai compris !
finalement pour ma domotique, je pourrais fournir des librairies pour que tous puisse en profiter, "comme" une DLL :)

Par contre à chaque nouvelle version de PB il faudrait (peut-être mais comment savoir ?) que je "tailbite" mon code source pour redistribuer... comme le font gnozal et Droopy, c'est ça ?
oui :)

Du coup, une dernière question : est-ce que Fred intègre parfois des librairies dans le code officiel de PureBasic ? l'idée est de mettre en "domaine public" un code source pour qu'il soit mis à jour en même temps que Purebasic par l'équipe officielle (des fonctions comme ping en réseau ou smtp, bref des fonctions générales ; pas mes fonctions domotique qui restent trop rares d'emploi) ?
en principe , et a ma connaissance , il ne le fait pas !
peut etre parce que cela l'obligerai a plus de travail pour mettre conforme aux nouvelles versions de purebasic..
intervenir sur un code qui n'est pas le sien, est toujours plus difficile ..

par contre le fait de donner le source de ses librairies peut etre une solution pour leur pérénités
mais encore faut 'il le vouloir ... (perso je ne l'ai jamais fait..alors je vais pas te jeter la pierre :) )
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Librairie Dynamique pour l'IDE PB ???

Message par Kwai chang caine »

finalement pour ma domotique, je pourrais fournir des librairies pour que tous puisse en profiter, "comme" une DLL
Moi la question qui me taraude, c'est pourquoi tu distribues pas une DLL alors ??? 8O
Plus simple a modifier (Avec le source bien sur), à utiliser, elle sont universelles, elle pourrait être aussi utilisée avec d'autres langages, VB, C, etc ....
Donc plus de clientèle... :roll:
Et en plus pas de problème de version de PB, ou presque sauf la fois ou FRED a changé les appels de strings, mais c'est très rare
Et en plus je crois que tu peut aussi intégrer les fonctions d'un coups avec le fichier LIB, ou un truc comme ça, la j'ai rien compris la dernière fois, alors je les utilisent à l'ancienne, mais y'a d'autres possibilité de simplifier l'appel des commandes, les prototypes aussi, la non plus j'ai rien compris.

Décidément à chaque fois que y'a quelque chose de soi-disant plus simple...je comprend pas :roll:
C'est vraiment que j'ai pas le cerveau organisé comme celui d'un programmeur :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Librairie Dynamique pour l'IDE PB ???

Message par Backup »

oui , une Dll serai plus adaptée :)
Répondre