![]() |
AW: himXML (gesprochen himix ML)
Hallo himitsu,
ich arbeite gerade mit himXML unter Delphi 2010. Dabei hat er ein Problem mit dem Type TTypeKind. In Deiner himXML in Zeile 6764 sind nur 19 Typen deklariert. Unter Delphi 2010 sind aber für TTypeKind aber 22 Typen deklariert. Ich habe jetzt einfach mal die Zeile 6764 erweitert. Das ganze sieht dann so aus :
Delphi-Quellcode:
Funktionieren tut es erstmal.
Const cTypeKind: Array[TTypeKind] of AnsiString = ('Unknown', 'Integer', 'Char',
'Enumeration', 'Float', 'String', 'Set', 'Class', 'Method', 'WChar', 'LString', 'WString', 'Variant', 'Array', 'Record', 'Interface', 'Int64', 'DynArray' {$IF Declared(UnicodeString)}, 'UString', 'ClassRef', 'Pointer', 'Procedure' {$IFEND} ); Edit: Ich habe gerade gesehen, dass in der Version 0.99d das ganze behoben ist. Dann werde ich diese nehmen. |
AW: himXML (gesprochen himix ML)
Hallo himitsu,
wieviel Assembler hast Du denn in Deinem himXML ? Eine Funktion habe ich schon gefunden, die Funktion
Delphi-Quellcode:
. Änderst Du da noch etwas in Richtung 64Bit für XE2 ?
Class Function TXHelper.Pos(Const Sub, S: TWideString): Integer;
|
AW: himXML (gesprochen himix ML)
Ich glaub al zuviel Assembler war nicht drin :oops:
"heimlich" geändert wird schon seit XE so Einiges daran ... aber die Zeit -.-° (Hab zwar ein Beta insalliert, welche bald wieder ausläuft, aber noch nicht viel damit gemacht und wann/ob ich mir XE2 kaufe und ich glaub geldlich/zeitlich werde ich die 10% DT-Rabatt nicht mehr nutzen können :( ) |
AW: himXML (gesprochen himix ML)
Da ich die Datei benötige, kann ich statt dem Assembler Pascal Code einfügen, der mit die Position des Suchstrings vom übergebenen String zurückliefert ? Der Assembler Code macht doch nichts anderes oder ?
|
AW: himXML (gesprochen himix ML)
Jupp.
Du könntest (vermutlich) auch das normale ![]() Diese Funkion war IMHO nur wegen älteren Delphis enthalten. (glaub ich) Ich hoffe nur keiner heult, wenn ich die nächste Version nur für D2010/XE und Neuer rausbring. (eigentlich ab D2009, aber für Compilerfehler und andere delphieigene Bugs, mach ich mir, auf Biegen und Brechen, keinen Buckel mehr krum) |
AW: himXML (gesprochen himix ML)
Hallo himitsu,
ich folgende Zeile Quelltext, die nicht sauber funktionieren :
Delphi-Quellcode:
Ich verschlüssel eine XML-Datei mit RCx. Wenn ich die verschlüsselte Datei in ein Memo lade oder in eine StringList, dann funktioniert alles ganz wunderbar. Wenn ich es jetzt so mache, wie im obigen Quelltext, dann lande ich immer in der Funktion TRCStreamDecorator.Seek der Datei rcstreamdeco.pas. Die Dateien zum verschlüsseln habe ich aus diesem
XMLConfig := TXMLFile.Create(nil, False);
stream := TRCxStreamDecorator.Create( TFileStream.Create(GetSpecialFolder(CSIDL_APPDATA) + '\VPN-Konfiguration\vpnconfig.xml', fmOpenRead), // der konkrete stream True, // ownsStream (auto-free) 'password', // Passwort fur die SandBox emEncodeWriting ); // schreibend kodieren try (Stream as TRCxStreamDecorator).ReadSalt; XMLConfig.LoadFromStream(Stream); finally Stream.Free; end; ![]() |
AW: himXML (gesprochen himix ML)
Hallo himitsu,
das Problem aus dem letzten Beitrag habe ich mit einem Workaround über eine TStringlist lösen können. Ich versuche gerade die interne Verschlüsselung zu nutzen. Ich habe Deine Beschreibung gelesen, kann diese aber nicht umsetzen. Hier mal ein Beispiel :
Delphi-Quellcode:
Habe ich da noch etwas vergessen oder was habe ich falsch gemacht ?
procedure TForm1.Btn_1Click(Sender: TObject);
var XML: TXMLFile; i: Integer; xmlnode: TXMLNode; begin XML := TXMLFile.Create(nil); XML.CryptData['RC4'] := 'testen'; For i := 0 to 10 do begin xmlnode := XML.RootNode.Nodes.Add('Node' + IntToStr(i)); xmlnode.Text_S := 'Testnode_' + IntToStr(i); end; XML.SaveToFile('test.xml'); XML.Free; M_1.Lines.LoadFromFile('test.xml'); end; |
AW: himXML (gesprochen himix ML)
Delphi-Quellcode:
setzt nur den Schlüssel/Passwort für die Verschlüsselung.
XML.CryptData['RC4'] := 'testen';
Nun mußt du nur noch, bei den zu gewünschten Knoten noch sagen, daß sie damit verschlüsselt werden sollen.
Delphi-Quellcode:
Eine integrierte Verschlüsselung über die gesammte Datei kommt erst in der nächsten Version. (solange kann man aber dennoch die XML-Datei streamen und diesen Stream verschlüsseln)
xmlnode := XML.RootNode.Nodes.Add('Node' + IntToStr(i));
xmlnode.Crypted = 'RC4'; xmlnode.Text_S := 'Testnode_' + IntToStr(i); |
AW: himXML (gesprochen himix ML)
Habt ihr das mit XE2 64Bit hingekrigt ?
Bei mir Kompiliert er aber stürzt dann beim erstellen von XML:=TXMLFile.Create(nil); mit Stack overflow ab. |
AW: himXML (gesprochen himix ML)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz