OVH Cloud OVH Cloud

Débugage d'appli...

17 réponses
Avatar
Bull
Bonjour,

J'ai sorti la première version bêta de mon appli. Un des utilisateurs a une
erreur au lancement. Le problème c'est que le message d'erreur est le
suivant :

************** Texte de l'exception **************
System.NullReferenceException: La référence d'objet n'est pas définie à une
instance d'un objet.
at RSSXpress.RSStreeview.getUpdateNbUnread(Int32& feedId)
at RSSXpress.RSStreeview.Init()
etc...

Le problème, c'est que ces renseignements ne me suffisent pas pour trouver
l'erreur, j'aurais besoin de connaître la ligne qui pose problème, les
valeurs des variables...

Comment faire ?

Merci

7 réponses

1 2
Avatar
Patrick Philippot
Bull wrote:
Pour le provider, je ne sais pas du tout moi même comment savoir s'il
est présent sur ma machine ?? Comment vérifier cela et surtout
l'intégrer à mon appli ?



Pour Jet OLEDB 4.0, la clé suivante doit être présente:

HKEY_CLASSES_ROOTCLSID{dee35070-506b-11cf-b1aa-00aa00b8de95}

Vous pouvez aussi utiliser le Component Checker Utility de MS
(http://www.microsoft.com/downloads/details.aspx?FamilyID0a8df6-4a21-
4b43-bf53-14332ef092c9&displaylang=en).

Pour installer, il faut passer par le MDAC. Je veux dire distribuer le
MDAC (7 MB environ) et le tourner sur la machine cliente si nécessaire.
Voir cette page:

http://msdn.microsoft.com/data/downloads/updates/default.aspx

Attention, la version 2.8 du MDAC n'inclut pas MS Jet.

Quant à la manière de procéder, tout dépend de votre système
d'installation. Si vous utilisez, comme je le crois, un package MSI, il
n'y a pas de merge module pour MDAC au-delà de 2.1. Pas de chance. Voir
comment faire ici:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchDistributingApplicationsCreatedWithVisualBasicNET.asp


Ou bien vous demandez gentiment à vos utilisateurs de télécharger et
d'installer le MDAC 2.7 :-))) s'ils n'ont pas Jet 4.0 installé sur leur
machine.

Ou bien vous adaptez votre programme pour qu'il utilise soit Jet 3.51,
soit Jet 4.0 selon ce qu'il trouvera.

Bon courage.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Bull
Merci beaucoup pour votre explication très précise, je commence un peu à en
voir le bout. Je pense que le plus simple pour moi actuellement et de
demander d'installer le MDAC adéquat en cas de bug. Par contre, le problème,
c'est que le 2.7 n'est plus dispo en download, seul le 2.7 refresh l'est :
http://www.microsoft.com/downloads/details.aspx?familyidšd000f2-cae7-493d-b0f3-ae36c570ade8&languageidô9e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en

Le problème est qu'ils disent que pour la version 2.7 refresh : "This
release does not include Microsoft Jet, the Microsoft Jet OLE DB Provider,
the Desktop Database Drivers ODBC Driver, or the Visual FoxPro ODBC Driver."

Donc si j'ai bien compris ce que vous m'avez dit, ça ne marchera pas mieux
avec cette version non ?

Merci
Bull


"Patrick Philippot" a écrit dans le message
de news:
Bull wrote:
> Pour le provider, je ne sais pas du tout moi même comment savoir s'il
> est présent sur ma machine ?? Comment vérifier cela et surtout
> l'intégrer à mon appli ?

Pour Jet OLEDB 4.0, la clé suivante doit être présente:

HKEY_CLASSES_ROOTCLSID{dee35070-506b-11cf-b1aa-00aa00b8de95}

Vous pouvez aussi utiliser le Component Checker Utility de MS
(http://www.microsoft.com/downloads/details.aspx?FamilyID0a8df6-4a21-
4b43-bf53-14332ef092c9&displaylang=en).

Pour installer, il faut passer par le MDAC. Je veux dire distribuer le
MDAC (7 MB environ) et le tourner sur la machine cliente si nécessaire.
Voir cette page:

http://msdn.microsoft.com/data/downloads/updates/default.aspx

Attention, la version 2.8 du MDAC n'inclut pas MS Jet.

Quant à la manière de procéder, tout dépend de votre système
d'installation. Si vous utilisez, comme je le crois, un package MSI, il
n'y a pas de merge module pour MDAC au-delà de 2.1. Pas de chance. Voir
comment faire ici:




http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchDistributingApplicationsCreatedWithVisualBasicNET.asp


Ou bien vous demandez gentiment à vos utilisateurs de télécharger et
d'installer le MDAC 2.7 :-))) s'ils n'ont pas Jet 4.0 installé sur leur
machine.

Ou bien vous adaptez votre programme pour qu'il utilise soit Jet 3.51,
soit Jet 4.0 selon ce qu'il trouvera.

Bon courage.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr




Avatar
Bull
Si je crée un merge module dans lequel j'ajoute l'assemble adodb.dll et que
j'ajoute ce merge module dans mon msi, cela va-til fonctionner ou est-ce
autre chose que adodb.dll qu'il faut que j'ajoute comme merge module ?

Encore merci :)
Bull

"Patrick Philippot" a écrit dans le message
de news:
Bull wrote:
> Pour le provider, je ne sais pas du tout moi même comment savoir s'il
> est présent sur ma machine ?? Comment vérifier cela et surtout
> l'intégrer à mon appli ?

Pour Jet OLEDB 4.0, la clé suivante doit être présente:

HKEY_CLASSES_ROOTCLSID{dee35070-506b-11cf-b1aa-00aa00b8de95}

Vous pouvez aussi utiliser le Component Checker Utility de MS
(http://www.microsoft.com/downloads/details.aspx?FamilyID0a8df6-4a21-
4b43-bf53-14332ef092c9&displaylang=en).

Pour installer, il faut passer par le MDAC. Je veux dire distribuer le
MDAC (7 MB environ) et le tourner sur la machine cliente si nécessaire.
Voir cette page:

http://msdn.microsoft.com/data/downloads/updates/default.aspx

Attention, la version 2.8 du MDAC n'inclut pas MS Jet.

Quant à la manière de procéder, tout dépend de votre système
d'installation. Si vous utilisez, comme je le crois, un package MSI, il
n'y a pas de merge module pour MDAC au-delà de 2.1. Pas de chance. Voir
comment faire ici:




http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchDistributingApplicationsCreatedWithVisualBasicNET.asp


Ou bien vous demandez gentiment à vos utilisateurs de télécharger et
d'installer le MDAC 2.7 :-))) s'ils n'ont pas Jet 4.0 installé sur leur
machine.

Ou bien vous adaptez votre programme pour qu'il utilise soit Jet 3.51,
soit Jet 4.0 selon ce qu'il trouvera.

Bon courage.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr




Avatar
Patrick Philippot
Bull wrote:
Par contre, le problème, c'est que le 2.7 n'est plus dispo en
download, seul le 2.7 refresh l'est :



http://www.microsoft.com/downloads/details.aspx?familyidšd000f2-cae7-493d-b0f3-ae36c570ade8&languageidô9e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en

Un refresh est en fait un package complet, je pense.

Le problème est qu'ils disent que pour la version 2.7 refresh : "This
release does not include Microsoft Jet, the Microsoft Jet OLE DB
Provider, the Desktop Database Drivers ODBC Driver, or the Visual
FoxPro ODBC Driver."



Exact. Il me semblait qu'il était inclus mais visiblement, le dernier à
inclure Jet est le MDAC 2.5. Si vous prenez la peine de visiter un peu
le site Data de MS, vous verrez que toutes les autres versions du MDAC
sont disponibles là : http://msdn.microsoft.com/data/mdac/default.aspx

Si vous cherchez encore mieux, vous trouverez une page de téléchargement
des service packs Jet 4.0 seuls :
http://support.microsoft.com/default.aspx?kbid#9114 ou là :
http://support.microsoft.com/default.aspx?scid=kb;en-us;829558.

Si je crée un merge module dans lequel j'ajoute l'assemble
adodb.dll et que j'ajoute ce merge module dans mon msi,
cela va-til fonctionner ou est-ce autre chose que adodb.dll
qu'il faut que j'ajoute comme merge module ?



Installer MS Jet est plus compliqué que ça. Voir article ci-dessus et
liste des DLLs.

Je crois que vous avez maintenant tout ce qu'il vous faut.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Bull
Oui j'ai tout ce qu'il me faut.

Merci beaucoup,
Bull

"Patrick Philippot" a écrit dans le message
de news:%
Bull wrote:
> Par contre, le problème, c'est que le 2.7 n'est plus dispo en
> download, seul le 2.7 refresh l'est :
>



http://www.microsoft.com/downloads/details.aspx?familyidšd000f2-cae7-493d-b0f3-ae36c570ade8&languageidô9e8428-7071-4979-8a67-3cffcb0c2524&displaylang=en

Un refresh est en fait un package complet, je pense.

> Le problème est qu'ils disent que pour la version 2.7 refresh : "This
> release does not include Microsoft Jet, the Microsoft Jet OLE DB
> Provider, the Desktop Database Drivers ODBC Driver, or the Visual
> FoxPro ODBC Driver."

Exact. Il me semblait qu'il était inclus mais visiblement, le dernier à
inclure Jet est le MDAC 2.5. Si vous prenez la peine de visiter un peu
le site Data de MS, vous verrez que toutes les autres versions du MDAC
sont disponibles là : http://msdn.microsoft.com/data/mdac/default.aspx

Si vous cherchez encore mieux, vous trouverez une page de téléchargement
des service packs Jet 4.0 seuls :
http://support.microsoft.com/default.aspx?kbid#9114 ou là :
http://support.microsoft.com/default.aspx?scid=kb;en-us;829558.

>Si je crée un merge module dans lequel j'ajoute l'assemble
>adodb.dll et que j'ajoute ce merge module dans mon msi,
>cela va-til fonctionner ou est-ce autre chose que adodb.dll
>qu'il faut que j'ajoute comme merge module ?

Installer MS Jet est plus compliqué que ça. Voir article ci-dessus et
liste des DLLs.

Je crois que vous avez maintenant tout ce qu'il vous faut.

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr




Avatar
Patrick Philippot
Bull wrote:
Oui j'ai tout ce qu'il me faut.



Pour votre info: je viens d'installer RSS XPress sur une machine Win2K
où MS Jet 4.0 est également installé et ça a l'air de fonctionner. Par
contre, l'icône créée sur le bureau est vide (complètement
transparente). Si je regarde dans le répertoire RSS XPress sous
Explorer, toutes les icônes sont vides (tranparentes) ainsi que l'icône
associée à l'exe. L'icône dans le system tray est grisée. A l'examen,
ces icônes ne semblent pas structurées de manière très cohérente et mon
éditeur d'icônes refuse de les charger complètement en se plaigant que
certaines images ne sont pas valides. Dans Visual Studio, on voit bien
que certaines images sont vides et certaines définitions dupliquées avec
des niveaux de couleurs différents. Le seul endroit où l'icône de
l'appli s'affiche correctement, c'est dans la barre de tâches quand la
fenêtre est maximisée.

Si je lance 2 instances de RRS XPress , j'ai 2 icônes dans le system
tray. Peut-être faudrait-il empêcher la création de plusieurs instances?

Bon courage.

PS: Connaissez vous Feedreader (http://www.feedreader.com/)? Les 2
programmes sont visiblement très proches. L'intérêt du vôtre (vu de ma
fenêtre) est cependant d'être une appli .Net alors que l'autre est écrit
en Delphi / Kylix. Il y a peut-être quelques idées à reprendre,
cependant... Delphi étant dispo dans sa version .Net, peut-être une
fusion de ces 2 projets non commerciaux est-elle possible?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Bull
Un utilisateur sous 2K a fait l'essai et juste en installant le MDAC 2.8, ça
a marché impect.

Concernant le pb des icones, j'ai aussi résolu le problème avec lui donc
dans la prochaine version, les icones seront écrasées et seront bien
affichées.

Si je lance 2 instances de RRS XPress , j'ai 2 icônes dans le system
tray. Peut-être faudrait-il empêcher la création de plusieurs instances?



Ce bug est aussi résolu... Il faut attendre la prochaine version bêta donc
car je peux aussi résoudre d'autres bugs plus légers et surtout apporter
d'autres améliorations !

Bon courage.



Merci :)

PS: Connaissez vous Feedreader (http://www.feedreader.com/)? Les 2
programmes sont visiblement très proches. L'intérêt du vôtre (vu de ma
fenêtre) est cependant d'être une appli .Net alors que l'autre est écrit
en Delphi / Kylix. Il y a peut-être quelques idées à reprendre,
cependant... Delphi étant dispo dans sa version .Net, peut-être une
fusion de ces 2 projets non commerciaux est-elle possible?



Oui, en fait, c'est justement feedreader que j'utilisais jusqu'à présent.
Pour apprendre le .net et faire ma première appli, j'ai donc décidé de faire
un lecteur RSS en m'inspirant de feedreader. Maintenant, j'ai tout recodé
donc c'est trop tard lol, j'aibientôt intégré toutes les fonctionnalités de
feedreader que je voulais. Je vais bien sûr en intégrer d'autres qui me
semble intéressante et qui manquait pour moi chez feedreader.

Pour la fusion des 2 projets non commerciaux, je ne sais pas, feed reader
semble ne plus du tout donner de nouvelles depuis sa dernière version. Le
site a été refait il y a 1 mois mais pas de nouvelle version. Je pense que
les développeurs n'ont plus assez de tps libre pour feedreader.

Bull


"Patrick Philippot" a écrit dans le message
de news:%
Bull wrote:
> Oui j'ai tout ce qu'il me faut.

Pour votre info: je viens d'installer RSS XPress sur une machine Win2K
où MS Jet 4.0 est également installé et ça a l'air de fonctionner. Par
contre, l'icône créée sur le bureau est vide (complètement
transparente). Si je regarde dans le répertoire RSS XPress sous
Explorer, toutes les icônes sont vides (tranparentes) ainsi que l'icône
associée à l'exe. L'icône dans le system tray est grisée. A l'examen,
ces icônes ne semblent pas structurées de manière très cohérente et mon
éditeur d'icônes refuse de les charger complètement en se plaigant que
certaines images ne sont pas valides. Dans Visual Studio, on voit bien
que certaines images sont vides et certaines définitions dupliquées avec
des niveaux de couleurs différents. Le seul endroit où l'icône de
l'appli s'affiche correctement, c'est dans la barre de tâches quand la
fenêtre est maximisée.

Si je lance 2 instances de RRS XPress , j'ai 2 icônes dans le system
tray. Peut-être faudrait-il empêcher la création de plusieurs instances?

Bon courage.

PS: Connaissez vous Feedreader (http://www.feedreader.com/)? Les 2
programmes sont visiblement très proches. L'intérêt du vôtre (vu de ma
fenêtre) est cependant d'être une appli .Net alors que l'autre est écrit
en Delphi / Kylix. Il y a peut-être quelques idées à reprendre,
cependant... Delphi étant dispo dans sa version .Net, peut-être une
fusion de ces 2 projets non commerciaux est-elle possible?

--
Patrick Philippot - Microsoft MVP [.Net]
MainSoft Consulting Services
www.mainsoft.fr




1 2