begin process at 2010 02 10 16:02:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Erreur : La référence d'objet n'est pas définie à une instance d'un objet.


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

Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

samedi 25 août 2007 à 15:15:51 | Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

SEB73460

Bonjour à tous,

J'ai ce type d'erreur dans mon code :
La référence d'objet n'est pas définie à une instance d'un objet.
Je souhaite lire un fichier dans un listview
Merci pour vos renseignements
A+

voici mon code :

'Lecture du fichier ouvert par la boite de dialogue

Dim fs As FileStream = New FileStream(OpenFileDialog1.FileName, FileMode.Open)

Dim li As ListViewItem

Dim TempString AsString

TempString = Hex(fs.ReadByte())

If Len(TempString) < 2 Then

TempString =

"0" & TempString

EndIf

li.SubItems.Add(TempString)

samedi 25 août 2007 à 15:24:12 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

casy

Membre Club

li est déclaré mais pas instancié. Il n'existe pas.

Il faut que fasse quelque part un New ListViewItem


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
samedi 25 août 2007 à 15:37:19 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

SEB73460

Merci Casy pour ton aide

Mais j'ai rien dans le listview !

Pourtant Tempstring contient bien le 1er octet de mon fichier soit "AA"
A+

samedi 25 août 2007 à 16:06:28 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

casy

Membre Club

Alors reprenons depuis le début.

Un ListView est constituer d'une collection d'items. Chacun de ces item est un ListViewItem (les lignes en mode détail)). Chacun de ces ListViewItem sont eux même constituer de l'item lui-même et éventuellement d'une collection de SubItems. L'item constitue la 1er colonne en mode détail et les subitems constitus les colonnes suivantes.

Donc dans ton cas, tu veux remplir les subitem d'un ListViewItem, mais il faut d'abord le créer. Tu as un message d'erreur parce li (ton ListViewItem) est certes déclaré, mais n'est à aucun moment créé (instancié). Il te faut quelque part le créer avec un instruction New ListViewItem. Le mieux étant de le faire lors de la déclaration Dim li As New ListViewItem

Ensuite une fois que ton ListViewItem est rempli de tous ses SubItems, il te faudra le rajouter à la collection d'items de ton ListView pour qu'il y apparaisse.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
samedi 25 août 2007 à 16:11:45 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

PurBonheur

Salut, normale que tu n'est rien dans ton listview, tu le créer au moment de l'execution.

Pour ton erreur d'instanciation, il faut faire :

Dim li As New ListViewItem

Mais je vois pas trop pourquoi tu fait ca. Pourquoi ne pas plutot faire : (en supposant que ta listview s'appelle lv1)

Dim fs As IO.FileStream = New IO.FileStream(OpenFileDialog1.FileName, IO.FileMode.Open)
Dim TempString As String

TempString = Hex(fs.ReadByte())
If Len(TempString) < 2 Then
    TempString = "0" & TempString
End If
lv1.Items.Add(TempString)


A plus.


samedi 25 août 2007 à 16:18:49 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

SEB73460

Merci Purbonheur pour ta réponse mais mon listview est deja cree sur ma form1 avec mes entetes lignes et colonnes
et j'ai toujours rien qui s'affiche
A+
samedi 25 août 2007 à 16:26:10 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

PurBonheur

"mon listview est deja cree sur ma form1"

Ok, alors pourqu'elle raisons obscures tu ne rajoute pas tes données directement dans ton listview au lieu de passer par un nouveau ListViewItem comme tu essai de faire ?

ListView1.Items.Add(TempString)

me semble plus direct.
samedi 25 août 2007 à 17:45:34 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

SEB73460

Mes données n'apparaisent pas sur le listview
Je ne comprends pas pourquoi

ListView1.Items.Add(TempString) 
J'affiche uniquement le 1ere colonne

samedi 25 août 2007 à 21:51:25 | Re : Erreur : La référence d'objet n'est pas définie à une instance d'un objet.

PurBonheur

Salut, quelque chose me dit que tu n'a pas lu le post de Casy.
Si tu veux remplir les colonnes de ton listview il faut que tu parcours la collection de collection d'items.
Ton listview a une propriété Items, qui est une collection d'objet. Ca représente les données dans la premiere colonne.
à chaque fois que tu fait ListView1.Items.Add(TempString) tu rajoute une ligne.
Si tu veux remplire sur une ligne, il faut que tu récupère l'objet dans la colonne précédente et que tu rajoute un objet dans sa collection subItems.

Dim fs As IO.FileStream = New IO.FileStream(OpenFileDialog1.FileName, IO.FileMode.Open)
Dim TempString As Integer
Dim SubItem As ListViewItem = Nothing

If ListView1.Items.Count > 0 Then SubItem = ListView1.Items(ListView1.Items.Count - 1)

TempString = fs.ReadByte()
If Len(TempString) < 2 Then
    TempString = "0" & TempString
End If
If SubItem IsNot Nothing Then
            SubItem.SubItems.Add(TempString)
Else
            ListView1.Items.Add(TempString)
End If


Il faut que tu adapte l'exemple à se que tu veux faire.

A plus.


Cette discussion est classée dans : erreur, objet, référence, instance, définie


Répondre à ce message

Sujets en rapport avec ce message

Erreur définie par l'application ou par l'objet sous Windows NT [ par hnoureldine ] Mon programme développé en visual basic 6 affiche le message : erreur définie par l'application ou par l'objet lorsqu'il est exécuté sur un PC basé su erreur référence [ par 1217meyrin ] Bonjour,que veut dire cette erreur retournée?quel est le remède? La référence d'objet n'est pas définie à une instance d'un objet. La référence d'objet n'est pas définie à une instance d'un objet. [ par SEB73460 ] Bonjour à tous,Voila mon probleme,je galère depuis plusieurs jours sur l'enregistrement d'un textbox dans un fichier access en ado.net vb2005à l'execu {la référence d'objet n'est pas définie à une instance d'objet [ par NOLISPU ] Bonjour à tous,Mon problème en deux mots :J'écris en ce moment une petite application qui analyse une page Html et crée dans une treeview un arbre des Erreur d'exécution 1004 "Erreur définie par l'application ou par l'objet" [ par wow59 ] Bonjour à tous,Voilà j'ai une erreur d'exécution de type 1004 "Erreur définie par l'application ou par l'objet", elle se déoule lors de l'enregistreme erreur 1004 définie par l'application ou par l'objet/ VB6 [ par simafst ] je travail avec VB6 j'ai une erreur 1004 définie par l'application ou par l'objet lors de l'exécution de mon code et il s'rréte à cette lignestr_draw Erreur définie par l'application ou par l'objet [ par CHRESAME ] Bonjour, Je suis débutant en VBA.J'ai embrassé la manipulation de cet outil depuis bientôt 2 semaines et j'éssaie  de mettre au point une petite appli Erreur 1004 "Erreur définie par l'application ou par l'objet" [ par wow59 ] Bonjour à tous,Voilà je suis sur un petit projet en VBA sur Excel et j'ai une erreur d'éxécution 1004 ("Erreur définie par l'application ou par l'obje Erreur 424 "Objet requis" [ par wow59 ] Bonjour à tous,J'ai un problème lors du lancement de mon formulaire, il m'affiche une erreur 424 "Objet requis" sans mettre en évidence la ligne d'err Erreur de compilation : Variable non définie [ par leum77 ] Bonjour à tous, Je suis un débutant dans la programmation VBA (excel 2003) et j'ai un petit problème, sans doute de base. Je reçois toujours le même


Nos sponsors


Sondage...

Comparez les prix

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,421 sec (4)

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