In welcher Codezeile tritt denn nun eigentlich der Fehler auf? (oder hab ich da was übersehn)
In der weiteren Vearbeitung nach LoadXML(). Zugegeben, Version 1 war nicht sonderlich gut abgesichert.
Deshalb dann auch die Zugriffsverletzung. Aber das Problem, dass LoadXML nicht einliest, bleibt. Ich hab jetzt Deinen Tip mit Assigned() mal eingbunden. Also NIL ist es nicht. Und somit komm ich auch nicht an das raise. Aber der dann folgenden Aufruf von LoadXML() klemmt und gibt false zurück.
Sieht jetzt so aus:
Delphi-Quellcode:
function TMDLizenz.CalcCheckSumFromString(
const c:
String):
String;
var
fsxml: IXMLDOMDocument2;
cHash:
String;
begin
result := '
';
fsxml := CoDOMDocument.Create;
if not Assigned( fsxml )
then
raise Exception.Create( '
Es konnte keine XML-Instanz erstellt werden' );
fsxml.async := False;
if fsxml.LoadXML( c )
then begin {XML-String laden}
recInsertNodes(fsxml.DocumentElement, cHash );
{String für SignaturHash rekursiv erstellen}
result := self.DoSignatureLicense( cHash );
{MD5Hash über gesamte Lizenz erstellen}
end;
fsxml :=
nil;
end;