Notes |
|
(0004574)
|
sujin
|
25.08.11 22:28
|
|
Erster Versuch. Habe relativ viel Code gelöscht und vereinfacht, die Oberfläche aber nicht angerührt (vom deaktivieren des Upload-Buttons mal abgesehen). Es *sollte* jetzt für alle Typen und Funktionen ganz simple Textdateien erstellen, die die entsprechenden Deklarationen enthalten, ebenso die Konstanten, und die Sammelseiten für die ersten beiden Kategorien weglassen. Aber wahrscheinlich habe ich vor allem Fehler eingeführt.
Bitte um Rückmeldung, was der Compiler alles zu meckern hat :)
|
|
|
(0004575)
|
Natter
|
25.08.11 22:49
|
|
- Konstante Kategorie hast du entfernt, wird aber noch benutzt (erstmals in Zeile 106)
- Zeile 301: undefinierter Bezeichner: ParentHasProperty
- Zeile 424: undefinierter Bezeichner: 'Kat'
Wenn man das behebt startet der Referenzcreator zumindest. |
|
|
(0004576)
|
sujin
|
25.08.11 22:59
|
|
Sollte behoben sein, rev1 hochgeladen. Wenn's startet, versuchst du bitte mal, ob und was an Ausgabedateien dabei rum kommt - gerne ein, zwei Funktionen und Typen und die Konstantenliste hochladen.
(Edit: Sollen wir evtl. rev0 löschen? 10 kB sind kein Kleinkram für etwas vollkommen obsoletes...)
|
|
|
(0004577)
|
Natter
|
25.08.11 23:12
|
|
Hmm, also er läuft erstmal. Aber wann und wo sollten denn Textfiles erzeugt/gespeichert werden? Im Urzustand hat das Programm die Änderungen ja direkt ins Wiki geschrieben. Momentan klappt zwar der Download, beim Klick auf Update gibts aber eine Zugriffsverletzung. |
|
|
(0004581)
|
sujin
|
26.08.11 14:24
|
|
Wenn ich mich nicht furchtbar verlese, dann werden die Änderungen eben nicht direkt ins Wiki geschrieben, sondern erst in lokalen Kopien gemacht, welche am Ende wieder hochgeladen (und lokal gelöscht) werden. Ich hatte vor, einfach nur vor dem letzten Schritt abzubrechen. Diese Dateien sind laut dem Quelltext im SVN unter c:\xforce\Wiki\Referenz\XSkriptReferenz.<FileName> (siehe GetFileName), also z.B. ...\XSkriptReferenz.FunktionenProzeduren (der Dateiname entspricht 1:1 dem "pagename"-GET-Parametern in den URLs von Bearbeiten/Attribute/Historie im Wiki).
Ich hatte das in build\<FileName>.pasi abgeändert. Mag sein, dass ein absoluter Pfad nötig ist... habe den Ordner jetzt wieder zu einem absoluten Pfad gemacht, C:\xforce\api\. Ich habe auch nochmal an der Erstellung der Dateien rumgespielt, aber wenn du sagen könntest, wann genau der Fehler auftritt - sobald du auf updaten drückst? Oder steht in der Statusleiste wenigstens "GenerateWikiSites..." oder "Update: <datei>"? Im letzten Fall, welche Datei? |
|
|
(0004582)
|
Natter
|
26.08.11 14:52
|
|
Ok, du hast recht, zumindest temporär werden Dateien angelegt. Hatte nicht so genau in den Wuellcode geschaut, und auch nicht erwartet, dass das Herunterladen noch in den normalen Arbeitsablauf gehört. Brauchst du denn die Daten aus dem Wiki? Wenn nicht, wäre es imho sinnvoller, direkt die Seiten mit Update zu erstellen.
Es kommt jetzt bei Update keine Fehlermeldung mehr.
Die Dateien hab ich zunächst trotzdem nicht gefunden - das angegebene Verzeichnis blieb leer. Erst etwas Debuggen brachte die Wahrheit ans Licht - ich hab mal wieder nicht bedacht, das ich Vista nutze ^^ Die Files finden sich in appData/local/temp/Referenz/...
Ich hänge dir mal den Output an. |
|
|
(0004583)
|
Natter
|
26.08.11 14:54
|
|
Die angehängte XSkriptReferenz.zip enthält den Output des Referenzcreators. |
|
|
(0004584)
|
Natter
|
26.08.11 15:02
|
|
PS: Gehört zwar nicht direkt hier dazu, aber wenn du dir eh gerade den RefernzVreator anschaust - derzeit werden die Befehle der kartenskripte nicht mit in die Referenz aufgenommen (diese werden in der MapGenerator.pas angelegt, nicht in der register_scripttypes.pas). Falls du nebenbei darauf stößt, an welcher Stelle man den Quellcode erweitern müsste, kannst du das ja vielleicht mal posten - gegebenenfalls in einem extra Ticket. |
|
|
(0004585)
|
sujin
|
26.08.11 15:38
|
|
Sorry, da kann ich wahrscheinlich nicht weiterhelfen. So wie ich das verstanden habe, funktioniert das Programm dadurch, dass ein leeres Programm kompiliert wird und dann alle darin definierten Typen und Funktionen aufgegriffen werden. Was man wo anpassen muss, damit dort auch die Kartenskript-Funktionen sichtbar sind... keine Ahnung, ich kenne mich mit der Delphi-PascalScript-Interaktion sowieso nicht aus. Vielleicht reicht es ja schon aus, den MapGenerator zu den uses hinzuzufügen.
Die generierten Dateien sind größtenteils leer bis auf zwei INI-mäßige Zeilen pagetitle=... und name=..., einige andere sind besser gefüllt und haben auch noch die ganzen Infos aus der Wiki. Ich muss wohl irgendwo aufgehört haben, die TStringLists als key-value-pairs zu verwenden und habe damit alles kaputtgemacht... Ist aber auch egal, da ich das jetzt alles rausgeschmissen habe und durch etwas viel simpleres ersetzt habe (natürlich nur möglich, weil keine bestehdenden Informationen überleben müssen, man also einfach die ganze Datei neu schreiben kann). Gleichzeitig habe ich auch das runterladen und hochladen entfernt. Neue version (die jetzt nur noch halb so lang ist wie das Original ^^) ist hochgeladen.
|
|
|
(0004586)
|
Natter
|
26.08.11 16:13
|
|
Zeile 55 fehlte ein Doppelpunkt
Zeile 300 Page nicht definiert
Zeile 335 FuncSite := TStringList.Free; -> vermutlich Create statt free
(dafür am Ende Free aufrufen, um Speicher freizugeben)
Hauptproblem war das Löschen der Komponenten (Buttons) in der frmMain.pas. Das führte zu Laufzeitfehlern, weil die in der frmMain.dfm noch vorhanden sind. Durch den Fehler kann die Oberfläche aber nicht mehr in Delphi angepasst werden. Musste da also etwas tricksen - hänge hier mal die angepasste dfm (+ zugehörige pas-Datei, die der rev3.pas entspricht, nur mit obigen kleinen Anpassungen).
Output wird jetzt im Richtigen Pfad erzeugt, und wird auch angehängt. |
|
|
(0004587)
|
sujin
|
26.08.11 16:35
|
|
Ergebnis sieht gut aus, fehlt nur noch ; hinter Funktionen. Ein paar kleinere Unschönheiten (überflüssige Leerzeilen, fehlende Einrückung bei properties und Methoden, inkonsistente Dateinamesgebung) habe ich auch auch direkt abgeändert. Noch einen Testlauf bitte, zur Sicherheit, aber im Prinzip sollte es jetzt fertig sein. |
|
|
(0004588)
|
Natter
|
26.08.11 16:47
|
|
Aktueller Output ist Hochgeladen. Falls alles passt, kann ich auch noch die exe hier anhängen. |
|
|
(0004589)
|
sujin
|
26.08.11 17:06
|
|
Ein Problem habe ich beim letzten mal noch übersehen: Durch meine Änderung, 0-parameter-Prozeduren ebenfalls () zu verpassen, kriegen auch Properties welche ab. Sollte jetzt behoben sein. Außerdem habe ich einige Leerzeilen-Verursacher, die ich beim letzten mal übersehen habe, entfernt. Wenn es kompiliert, sollte es richtig sein, also häng ruhig auch direkt die Exe an :) |
|
|
(0004592)
|
Natter
|
27.08.11 23:37
|
|
|