Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi ungleich nil (https://www.delphipraxis.net/113266-ungleich-nil.html)

Cosamia 5. Mai 2008 14:05


ungleich nil
 
ich mal wieder.

Mein Programm schmiert ab, wenn ein Attribut kein Value hat, und ich mit einer Schleife alle Attribute durchlaufe und in eine Listbox schreibe.

Um dies zu verhindern wollte ich das vorher abfangen, aber es klappt irgendwie nicht.

Delphi-Quellcode:
if (xnAttr.NodeValue <> Nil) then begin
Fehler : ungleiche Typen

3_of_8 5. Mai 2008 14:09

Re: ungleich nil
 
Welchen Typ hat den NodeValue?

Klaus01 5. Mai 2008 14:09

Re: ungleich nil
 
Hallo,

geht es vielleicht mit:
Delphi-Quellcode:
 if assigned(xnAttr.NodeValue) then
?
[edit] das wird auch nicht funktionieren, das assigned auch auf nil prüft, sorry [/edit]

Grüße
Klaus

SirThornberry 5. Mai 2008 14:11

Re: ungleich nil
 
@Klaus: Wohl kaum weil Assigned nichts anderes macht als auf <>nil zu überprüfen.

Cosamia 5. Mai 2008 14:16

Re: ungleich nil
 
Zitat:

Zitat von Klaus01
Hallo,

geht es vielleicht mit:
Delphi-Quellcode:
 if assigned(xnAttr.NodeValue) then
?
[edit] das wird auch nicht funktionieren, das assigned auch auf nil prüft, sorry [/edit]

Grüße
Klaus

Nein, dass funzt auch nicht.

xnAttr ist ein IXMLNode

spaxxn 5. Mai 2008 14:18

Re: ungleich nil
 
Delphi-Quellcode:
if assigned(xnAttr.NodeValue) then
wenn die Value ein String ist, was ich annehme, kann das nicht klappen :)

Delphi-Quellcode:
if assigned(xnAttr) then
probier das mal

Cosamia 5. Mai 2008 14:21

Re: ungleich nil
 
Zitat:

Zitat von spaxxn
Delphi-Quellcode:
if assigned(xnAttr.NodeValue) then
wenn die Value ein String ist, was ich annehme, kann das nicht klappen :)

Delphi-Quellcode:
if assigned(xnAttr) then
probier das mal

Das funzt zwar, erfüllt aber leider nicht den Zweck. Ich will ja eben abfangen wenn der Value gleich NIL ist.

Oder mache ich mit NIL was falsch?

Fehlermeldung lautet beim parsen :

Variante des Typs Null kann nicht in Typ String konvertiert werden.

FAlter 5. Mai 2008 14:23

Re: ungleich nil
 
Hi,

bei Varianten:

Delphi-Quellcode:
if IsNotAssigned = Unassigned then
  ShowMessage('Unassigned');
if VarIsNull(IsNotAssigned) then
  ShowMessage('Null');
[edit] In deinem Teil wohl Delphi-Referenz durchsuchenVarIsNull, denn die Variante scheint den Wert Null zu haben. [/edit]

Mfg
FAlter

Luckie 5. Mai 2008 14:25

Re: ungleich nil
 
Zitat:

Zitat von Cosamia
aber es klappt irgendwie nicht.

Ich bin mir ganz sicher, das aller erste, was mein Kind lernen wird, ist verwertbare Fehlerbeschreibungen zu liefern.

"Klappt nicht."
"Funzt nicht."
"Geht nicht."
Was soll man damit anfangen? :wall:

Es wäre extrem hilfreich zu erfahren, wie sich der Fehler äußert und / oder was für eine Fehlermeldung der Compiler ausgibt.

Cosamia 5. Mai 2008 14:27

Re: ungleich nil
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Cosamia
aber es klappt irgendwie nicht.

Ich bin mir ganz sicher, das aller erste, was mein Kind lernen wird, ist verwertbare Fehlerbeschreibungen zu liefern.

"Klappt nicht."
"Funzt nicht."
"Geht nicht."
Was soll man damit anfangen? :wall:

Es wäre extrem hilfreich zu erfahren, wie sich der Fehler äußert und / oder was für eine Fehlermeldung der Compiler ausgibt.

Hast ja recht.

FEHLERMELDUNG BEIM PARSEN:

Variante des Typs (Null) kann nicht in Typ (String) konvertiert werden.

Fehler taucht bei der Codezeile auf:

Delphi-Quellcode:
nodesubmit := xnAttr.NodeName +' = ' +xnAttr.NodeValue;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz