Bonjour.
J'ai un programme qui utilise beaucoup de paramètres qui sont stockés dans un fichier xml (configuration.cfg). A partir de ce fichier un module des interfaces était créé avec l'expert Liaison de données. Et puis à la base de ces interfaces les classes sont créées (dans le même module):
Les fonctions de ses classes sont du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TXMLConfigType = class(TXMLNode, IXMLConfigType)
Mais j'ai souvent des VA sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function TXMLConfigType.Get_propriete: WideString; begin try if assigned(ChildNodes['propriete']) then if not VarIsNull(ChildNodes[propriete].NodeValue) then Result := ChildNodes['propriete'].NodeValue else Result := '' else Result := ''; except Result := ''; end; end; procedure TXMLConfigType.Set_propriete(Value: WideString); begin ChildNodes['propriete'].NodeValue := Value ; end;
car "assigned" vérifie seulement si le pointeur n'est pas null et il peut être juste incorrect. Et parfois il y a VA lors de la sauvegarde des données XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part if not VarIsNull(ChildNodes[propriete].NodeValue) then
Et ça se produit avec tous les updates possibles des msxml.dll. Donc ce méthode de gestion XML ne me semble pas assez stable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Configuration: IXMLConfigType; ... Configuration.OwnerDocument.SaveToFile(FileName);
Pourriez-vous me conseiller quelques choses s'il vous plait?
Merci.
Partager