Salut, débogage de dll [Résolu]

Signaler
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Hello tout le monde.

Après avoir été vaguement intégré sur vbfrance.com, me vla sur DelphiFrance.com

C'est mon 2ème message, personne n'a répondu au premier.

J'balance deux trois fleurs, hitoire de vous acheter:

J'ai fait un peu plus d'un ans de VB (et j'en fait encore), et je ne suis pas parvenu à pondre un programme d'installation fiable. J'ai eu des emmerde à la pelle avec les contrôles ActiveX qui se charge plus après mise à jour, des runtime plus ou moins utiles et des regsvr32 à la pelle (J'vous raconte pas l'état de ma base de registre).

En Delphi, il faut juste mettre BORLANDMM.DLL dans le dossier de l'exe si on veux faire passer des Strings avec une dll (Je couche avec les dlls).

C'est tellement beau que j'ai du mal à y croire.

Bon, par contre, l'EDI de Delphi7 est de moins bonne qualité que celle de VB6.

En VB, tout est automatique: majuscules, achèvement du code, emplacement des espaces...

Par contre la syntaxe est pas plus compliquée: les := et les ; sont largement compensés par les dim, les end if, les next...

Bon, au moins vous avez constatez que je parle beaucoup pour ne rien dire, mais comme j'ai pas internet chez moi, vous n'en souffrirez pas trops.

Voici ma question:

Comment débuguer une dll ?

J'ai configurer l''application hôte' dans les 'Paramètre d'execution'. Ma dll est compilée dans le dossier de l'executable et c'est bien la dernière version qui est utlisée. L'executable est lancé avec F9, mais les points d'arrêt ne fonctionnent pas, de même que Evaluer/Modifier.

Débuguer en aveugle est un sport très chiant, alors si quelqu'un pouvait m'aider ça me ferait vraiment plaise.

Merci d'avance.

8 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Pour ce qui est du débogage de dll, j'ai trouvé!

Il faut mettre la dll et l'exe de débogage dans le même groupe de projet.

Pour ce qui est de BorlandTruc.dll, j'ai eu des problèmes avec des fonctions ayant des string pour résultat lors d'appels depuis VB6.

L'utilisation des PCha
Messages postés
135
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
12 octobre 2006

Essais de regarder dans le menu projet > Options > Compilateur

Decoche Optimisations, Coche "cadre de pile" , Debogage coche tout et recompile

bouh
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
«je ne suis pas parvenu à pondre un programme d'installation fiable»

NSIS c'est gratuit

=============================

«En Delphi, il faut juste mettre BORLANDMM.DLL dans le dossier de l'exe si on veux faire passer des Strings avec une dll (Je couche avec les dlls)»

Fait passer un PChar à la place des Strings. Genre ceci :
begin
AppelDLL(PChar('Salut')); //au lieu de AppelDLL('Salut');
end;
Delphi fera les traductions appropriées...

=============================

Je crains que ton F9 ne servent uniquement à tester ta DLL et pas à la debugger. Là par contre, c'est une colle !
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut grandvizir,


L'utilisation de BORLANDMM.DLL ne me dérange pas du tout.

Je savais effectivement que l'on peut transmettre les chaînes par pointeur, mais je ne sais pas bien qu'elle différence cela fait. Peut être est ce pluis rapide, si seul le pointeur est passé comme argument. Mais j'imagine que les chaînes sont en fin de compte transmise par pointeur aussi.

Salut
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
La moitié du message est passé...

Merci neko,

Je teste la manip dès que j'arrive chez moi!
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Même si c'est plus ou moins vrai, String = PChar car le fonctionnement est très similaire. Les deux passent en arguments, mais l'un mieux que l'autre. BorlandTruc.dll m'a l'air superflu et je n'ai jamais croisé une telle DLL dans des progs de ouf faits en Delphi que j'aurais pu rencontrer. Dans mon ViewVite, je passe par les PChar dans la gestion des plugins...

===========
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Encore la moitié du message qui foire (Je suis otiste).

L'utilisation des PChar parait effectivement plus efficace et plus distribuable.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Depuis, j'ai eu pas mal de problèmes avec le renvoide PChar.