Seite 7 von 8
Verfasst: 25.07.2005 23:53
von Kiffi
> Immer her damit
ist schon da!
Allerdings: Im Zip sind z.Zt. nur die Lib selber, der entsprechende Source
und 6 Beispiel-Source enthalten. Hilfe-Datei kommt später.
@alle, die die Lib bisher verwendet haben:
Die Funktionsnamen haben sich geändert.
Hiess es früher noch [c]PT_MSXML3_[/c]... so heisst es heute nur noch [c]MSXML3_[/c]...
Beispiel:
Aus [c]PT_MSXML3_CreateDomDocument()[/c] wird nun
[c]MSXML3_CreateDomDocument()[/c].
Einfach mit dem Editor 'PT_' durch '' ersetzen.
@derRaab:
Mit [c]MSXML3_AttributesRemoveNamedItem()[/c] kann man nun Attribute
entfernen. Näheres in den Beispielsourcen.
@dige:
ich hoffe, die Beispielsourcen geben Dir einen guten Einstieg in die
Materie. Falls etwas unklar sein sollte, sag Bescheid.
Wie gesagt: die Hilfe-Datei kommt später.
Ist 'ne ganze Menge zu tippen... [ächz]
Grüße ... Kiffi
Verfasst: 26.07.2005 00:52
von ts-soft
>> ist schon da!
stimmt, die autom. Bestätigungemail sollte auch raus sein. Bestätigung ob sie angekommen ist wäre nett. (Testbetrieb

)
>> Hilfe-Datei kommt später.
Wenn Du Dir die einfache Syntax des Generators zutraust, wäre das günstiger, ansonsten passe ich auch die chm gerne selber an.
Verfasst: 26.07.2005 07:53
von Kiffi
ts-soft hat geschrieben:
stimmt, die autom. Bestätigungemail sollte auch raus sein. Bestätigung ob sie
angekommen ist wäre nett.
ist angekommen. Ich musste sie vorher aus dem Spam-Filter fischen
ts-soft hat geschrieben:
Wenn Du Dir die einfache Syntax des Generators zutraust, wäre das
günstiger, ansonsten passe ich auch die chm gerne selber an.
danke für das Angebot, aber ich habe ein schönes Tool zum Generieren von
*.chm-Dateien, welches ich auch für diese Lib verwenden werde.
Grüße ... Kiffi
Verfasst: 04.08.2005 11:05
von mueckerich
@Kiffi:
Danke für die LIB, kann ich sehr gut gebrauchen.
Gibt es inzwischen schon ein paar Beispiele und eine erweiterte Hilfedatei?
Verfasst: 16.08.2005 22:24
von derRaab
Hallo Leute,
ich glaube ich habe nicht ganz kapiert wo ich die neue Lib finden kann. Im "PBOSL_SRC.zip" von
http://pbosl.purearea.net/ ist sie nicht drin, oder? Komisch.
Ich arbeite noch mit der Version vom 17.01. und wollte Kiffi noch fragen, ob man Attributwerte verändern kann? Wenn in einem Attribut bereits ein Wert hinterlegt ist, kann ich diesen weder mit
Code: Alles auswählen
PT_MSXML3_AttributesPutValue(XMLDOMAttribute, sAttributeValue.s)
noch mit
Code: Alles auswählen
PT_MSXML3_SpecialSetNamedAttributeValue(XMLDOMDocument, XMLDOMNode, sAttributeName.s, sAttributeValue.s)
überschreiben. Da steigt mir das Programm immer aus. Vielleicht mache ich ja was falsch?
Ich hänge da gerade an einem Projekt...

Verfasst: 16.08.2005 22:43
von ts-soft
Die Datei ist immer noch aktuell, Du findest sie im Moment nur auf
www.purearea.net. Die PBOSL kompatible Version unterscheidet sich auch nur im Präfix, dem das PT_ fehlt. Weitere Unterschiede sind mir nicht bekannt.
Mit der Veröffentlichung einer neuen PBOSL-Version wollte ich warten bis PB3.94 veröffentlicht ist, um eine dazu kompatible Version zu veröffentlichen.
Ansonsten habe ich von XML leider keine Ahnung und kann Dir deshalb auch nicht weiterhelfen

Verfasst: 16.08.2005 23:14
von Kiffi
Hallo,
ts-soft hat geschrieben:Weitere Unterschiede sind mir nicht bekannt.
es ist die von derRaab gewünschte Funktion [c]MSXML3_AttributesRemoveNamedItem()[/c]
hinzugekommen. Konntest Du nicht wissen, weil ich Dich nicht darauf
hingewiesen habe. My fault.
Bis zum Erscheinen der neuen PBOSL habe ich einen separaten Download zur
Verfügung gestellt
Download
hier
Verfasst: 16.08.2005 23:30
von ts-soft
@kiffi
thx, danke Dir erstmal, dachte eigentlich die 2 neuen Libs sind ja auch so noch erhältllich und wollte abwarten, damit unnötige downloads vermieden werden. Eine Woche werde ich noch warten, wenn es dann keine neue Version von PB gibt werde ich es Wohl hochladen und Ankündigen.
Verfasst: 17.08.2005 10:37
von derRaab
Hallo nochmal,
ich habe anscheinend einen Bug in der Library gefunden:
Es ist nicht möglich einen vorhandenen Attributwert zu überschreiben! Das verursacht einen Absturz!
Ich habe echt lange gesessen und dachte ich mache etwas falsch, aber ich bin mir jetzt sicher, dass es einen Bug gibt.
Hier eine Möglichkeit das nachzuvollziehen:
Man nehme folgende XML-Struktur:
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<root>
<content identifier="OLD_IDENTIFIER"/>
</root>
und führe folgenden Code aus:
Code: Alles auswählen
;- Testen der Möglichkeiten zur Änderung eines Attributewertes
; Konsole aktivieren
OpenConsole()
; neues XML-Objekt erstellen
xml = PT_MSXML3_CreateDomDocument()
; Dateistruktur einladen
PT_MSXML3_Load( xml , "./content.xml")
; Knoten mit zu änderndem Attribut ermitteln
contentNode = PT_MSXML3_SelectSingleNode( xml ,"root/content")
; Attributname des zu ändernden Attributes
attributeName.s = "identifier"
; gewünschter neuer Attributwert
newAttributeValue.s = "NEW_IDENTIFIER"
; Auswahlmöglichkeit der beiden Versionen 0 / 1
If 0
; Standardbefehle nutzen
; Attributliste des Knoten auslesen
attributes = PT_MSXML3_GetAttributes( contentNode )
; gewünschtes Attribut darin ermitteln
identifierAttribute = PT_MSXML3_AttributesGetNamedItem( attributes , attributeName )
; darin neuen Wert hinterlegen - DIESER BEFEHL VERURSACHT DEN ABSTURZ!!!!!!!!!
PT_MSXML3_AttributesPutValue( identifierAttribute , newAttributeValue )
Else
; Sonderbefehl nutzen - DIESER BEFEHL VERURSACHT EBENFALLS EINEN ABSTURZ!!!!!!!
PT_MSXML3_SpecialSetNamedAttributeValue( xml , contentNode , attributeName , newAttributeValue )
EndIf
;aktuelle Struktur ausgeben
MessageRequester("New Version" , PT_MSXML3_GetXml( contentNode ) )
; Konsole schliessen
CloseConsole()
Beide Möglichkeiten der Änderung versagen, wenn das Attribut bereits existiert! Wenn man in der XML-Struktur das Attribut entfernt funktioniert es tadellos.
Um Stellungnahme wird gebeten.

Verfasst: 18.08.2005 15:37
von derRaab
Hi nochmal. Warscheinlich stehe ich auf dem Schlauch. Wenn ich die neue Lib verwenden könnte, dann könnte ich einstweilen einfach das Attribut löschen und neu setzen. Damit könnte ich weiter machen.
Nur leider habe ich nicht ganz kapiert wo ich die aktuelle Lib jetzt finden kann. Könnte mir kurz einer das Brett vorm Kopf entfernen?
