begin process at 2010 02 10 00:28:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Mémoire

 > 

Libérer les ressources + object


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Libérer les ressources + object

mercredi 3 juin 2009 à 12:30:33 | Libérer les ressources + object

Nicolas___

Bonjour,

j'ai une toute petite question mais je sens que les réponses seront un peu plus floues ...

Comment être sur que son programme libère toutes les ressources ( dll) et object qu'il créé et charge quand celui ci plante violement sans raison (du à une librairie en beta test , donc instable ;) ) ?

Car même si je libère tout ce que je créé et charge dans le Destroy , forcement quand le prog plante, il ne passe pas par là !

Merci

Nicolas
mercredi 3 juin 2009 à 13:39:55 | Re : Libérer les ressources + object

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

En fait windows va quand même libérer un certain nombre de choses (Handle sur fichier, mémoire...).

Tu peux peut être justement essayer de créer un thread juste pour exécuter l'appel à la bibli en question. Peut être que si le thread plante, ça ne fait pas tomber le processus. Je t'avoue n'avoir jamais essayé.

Tu peux essayer de mettre un try avec finally autour des appels pouvant poser problème.
mercredi 3 juin 2009 à 13:55:35 | Re : Libérer les ressources + object

Nicolas___

Au fait je travaille avec la librairie BASS.
je travaille avec plusieurs AddOns de BASS : BASS_ASIO, BASS_FX et BASS_VST

BASS_VST est écrit en C mais j'ai trouvé sur le forum de bass (www.un4seen.com) un exemple en Delphi pour charger la dll de BASS_VST dynamiquement (pas plus mal) .

Le problème, c'est que cette librairie fonctionne bien selon les VST (certains passent, d'autres non)

J'ai beau mettre les instructions de chargement / dechargement des VST dans un bloc try , ca plante tout de même car ce n'est pas le chargement de la VST qui plante mais bien le fait de l'utiliser (je ne suis pas très clair, je le sens)
J'ai des erreurs du type : " Erreur en virgule flottante ???! "

Donc , mon prog plante à ce moment là et je me retrouve Avec BASS_Asio qui tourne tjs (utilisé avec les drivers ASIO4ALL)
Le problème, c'est que ca me bouffe 13% de mon CPU ! (c'est pas encore trop grave mais quand même ! )

Et je ne peux même pas "killer", car ca n'appairait pas dans le gestionnaire de tache... 
mercredi 3 juin 2009 à 14:20:03 | Re : Libérer les ressources + object

rt15

Membre Club Administrateur CodeS-SourceS
Ce type d'erreur a lieu dans la FPU, la partie du processeur dédiée au calcul sur les flottants.

On peut contrôler la manière dont la FPU gère ces erreurs. Par exemple en cas de division par zéro, soit elle déclenche une erreur, soit elle renvoie un flottant avec un valeur particulière correspondant à l'infini.

Delphi active ces exceptions par défaut, mais tu peux lui demander de les désactiver.

Regarde l'aide de Set8087CW sous Delphi (8087 c'était le nom de la FPU du temps où c'était un composant à part).

En désactivant ces erreurs, ça peut aller mieux.
mercredi 3 juin 2009 à 14:49:16 | Re : Libérer les ressources + object

Nicolas___

ok merci , je vais regarder à ca ...
mercredi 3 juin 2009 à 16:36:11 | Re : Libérer les ressources + object

Francky23012301

Membre Club
Salut,

Bass_VST n'est pas une version béta .

Le problème arrive avec certains VST. Ces derniers ne respectent pas toujours le standard VST de Steinberg. Ceci dit effectivement si cet AddOn avait été codé dans les règles de l'art, il ne déclencherait aucune erreur face à ce cas de figure. Raison de plus pour passer à autre chose que Bass : Ceci dit je t'invite aussi à vérifier les versions de Bass que tu utilises : En effet il y a des incompatiblités entre elles.

Il existe une sdk sous delphi pour utiliser l'asio et les vst : il y a plus qu'à ....
mercredi 3 juin 2009 à 17:38:28 | Re : Libérer les ressources + object

Nicolas___

j'utilise toutes les dernières versions ...

j'aime la librairie Bass , il y a quand même des programmes semi-pro qui utilise BASS

et si je dis que BASS VST est une béta , c'est bien parce que je l'ai lu sur le forum, par l'admin.
La version est bonne mais il y a encore énormément de bug.

Et même les VST dites correctes peuvent planter, ca dépend de la taille de la VST (j'ai déjà remarqué que les VST >2mo avait plus de chance de planter aléatoirement ... chargement de l'editeur trop lourd peut-etre)

En plus même les VST de Steinberg peuvent planter (j'ai le cas avec DaTube, repris de Cubase LE )

Enfin, une fois que j'ai trié celles qui posent problèmes, ben y'en a plus ;)

Le gros désavantage avec BASS_VST est le temps de chargement de la VST qui est > 0.5 sec , ce qui pose pas mal de petit problèmes (coupure net du son)


mercredi 3 juin 2009 à 18:15:49 | Re : Libérer les ressources + object

Francky23012301

Membre Club
J'utilise aussi Bass et ses AddOns pour un projet similaire au tien . Mon choix pour cette librairie a été que je ne voulais pas dans un premier temps m'embeter a faire des unités pour gérer les SoundFonts, les VST et l'Asio. Maintenant que je suis bien avancé dans mon projet, j'ai vite compris les limites de Bass (Entre autre ces incompatiblités de version) et j'ai hate d'etre à la seconde version pour, entre autre coder mes propres unités.

Ceci dit, j'admire le travail qu'ils ont fait meme si cet outil pas adapté et qu'il a un arrière gout d'usine à gaz .

Bass_VST admet une version 2.3 qui n'est plus une version béta. La version 2.4 est-elle en version béta mais le principal changement est la possibilité d'utiliser les VSTI.

Quant aux plantages des VST de Steinberg : j'en sais rien n'ayant pas cubase . Ceci dit il existe énormément de VST qui ne répondent pas au standard de Steinberg.

Pour la latence de 500ms quant on charge un VST : bizarre, bizarre. Aurais tu un lien pointant vers ce problème, car je n'ai pas lu cette information sur le forum de bass ? Merci d'avance.

Pour le coté semi-pro : c'est vrai mais il y a aussi pas mal de sociétés qui utilisaient bass et qui sont passées à autre chose (Fruity Loops). Ce n'est surement pas sans raison.

Toi qui aime temps tout ce qui touche à la musique, pourquoi ne pas créer tes propres outils ?
mercredi 3 juin 2009 à 18:37:37 | Re : Libérer les ressources + object

Nicolas___

Pour le temps de latence , il y a des gens qui le relatent sur le forum de BASS (tape VST dans la recherche)
En même temps , je le remarque aussi vu que j'utilise ça (certains plugins sont plus lent à charger que d'autres,
si tu veux les noms des plugins : WhamDrive (une whammy) , sumo(une sorte de loudness) , octobuzz (qui plante 1*sur 2) ...

Le pire, c'est utilisé 3,4 voir 5 VST Fx sur une channel (la ca rame pas mal ... )

En même temps , j'utilise tout ca en live (comme l'exemple de BASS ASIO LiveFX , ou mon dernier source
http://www.delphifr.com/codes/PEDALE-MULTI-EFFETS-BASS-ASIO_49832.aspx)

Je suis en fait en train de l'améliorer (je suis à 4ms de latence maintenant, et je prévois des petites surprises :) ) et c'est pourquoi j'aimerais réduire au max les plantages intempestifs !

j'aimerais bien distribué (gratuitement of course) ce prog (pas celui sur DelphiFR mais son amélioration) à mes potes (plusieurs sont intérressés) mais je ne sais pas si je peux (licence et co , vu qu'il l'utiliseront peut être en public et bla bla bla ... )

"Toi qui aime temps tout ce qui touche à la musique, pourquoi ne pas créer tes propres outils ?"

Ben justement , il ne faut pas tjs réinventer la roue ... BASS s'en sort bien , voir très bien pour le moment , c'est surtout la facon de coder qui pose problème des fois je pense ... plusieurs de mes problèmes on été résolu par une re-lecture plus appronfondie de l'aide (qui est d'ailleurs très riche et bien faite)


D'ailleurs , pour la nouvelle version j'utilise tes TPotentio , TSelectButon et la trackbar (je sais plus cmt elle s'appele)


PS : en parlant de meilleures relecture de l'aide , j'ai résolu le problème que j'avais % au choix de l'input (mic , line-in ...)
Comme quoi ...
jeudi 4 juin 2009 à 19:37:45 | Re : Libérer les ressources + object

Nicolas___

Dis Francky ,
n'aurais tu pas la lib de BASS_VST en Delphi par hasard ?

Parce que j'en ai une et je comprends maintenant les problèmes, c'est une vieille et je n'ai pas le support des VST i
(la fonction BASS_VST_ChannelCreate est inexistante )

Merci

(Sinon j'essayerais de  transcire de c-> Delphi , pas gagné d'avance :( )



1 2

Cette discussion est classée dans : ressources, créé, object, libérer, libère


Répondre à ce message

Sujets en rapport avec ce message

Pb Ressources système [ par ogizmo ] Bonjour à tous,Je suis en cours de création d'une appli, mais depuis peu, après avoir fermé mon appli, les ressources systèmes de mon PC s'écroule pet ajout dynamique de menuitems [ par bgK ] Salut à tous,J'ai créé un prog utilisant des plugins et qui ajoute un item dans le menu à chaque plugin trouvé.mais je ne sais pas comment faire pour Composant Delphi et VB [ par sebastienbro ] Voilà, je voudrai créé un composant dérivé de TForm, et pouvoir l'utilisé après avec Visual Basic. Mais je sais pas ce qu'il faut que je créé. Si je c ..:: Utiliser un composant créé dynamiquement ::.. [ par DeZNiUS ] Bonjour (soir) à tous,Oui je sais je suis ch... (x2). Vu que g des problem avec mon richedit et que j'etait focalisé dessus g oublie de faire le reste aide pour lancer un logiciel créé !! [ par hanenlem ] Je viens de créer un logiciel de facturation pour une entreprise mais je ne sais pas comment on fait pour le lance sans avoir à montrer et lancer visu TTreeView & D5:épuisement des ressources [ par ericamiens ] bonjour,j'urtilise un TTreeView dans un programme Delphi5.lorsque j'intercepte l'événement OnCustomDrawItem,les ressources systèmes s'épuisent très ra Utilisation Ressources [ par hippocampe2912 ] Bonjour,J'ai constitué un fichier Ressource avec des Fichiers *.Mid, *.Avi et *.exe.Pour l'utilisation de ces ressources, j'ai trouvé je ne sais plus "serialiser" un object dans un fichier [ par moreno72 ] je cherche le moyen de "serialiser" un object dans son ensemble dans un fichier , exemple : un TObjectList et l'ensemble de ses objets attachés .( en Libération de ressources [ par nicolaspennaneach ] j'ai une application MDI où chaque fenètre enfant possède un thread pour effectuer certaines opérations. Lorsque j'exécute la méthode formclose d'une erreur serieuse sur un source créé avec D7 [ par lguez ] Je suis en train de développer un source avec D7 et interbase(Carnet d'adresses) avant je le faisait avec Access et BDE mais suite à la demande de que


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales