•  Back 
  •  Inhalt 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Hilfe 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Dokumentation zum Library-Maker
Author      : Karsten Lüdersen @ HH
Version     : MKlib.hyp 2.49
Subject     : Programmieren/Basic
Nodes       : 162
Index Size  : 5558
HCP-Version : 4
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : 
@help       : Hilfe
@options    : +g -i +y +z -t4 -d24
@width      : 75
View Ref-FileNeues in Version 2.5                                         Library-Maker

Die Version 2.5 gibt es noch gar nicht. Der Hypertext ist "auf Vorrat"
geschrieben. Die aktuelle Versionsnummer ist 2.49.


Neues in der Version 2.49

Weitgehend handelt es sich um Bugfixes:

- eingeklappte Bereiche werden jetzt auch dann korrekt übersetzt, wenn sie
einzeilige IFs oder Schleifen enthalten. Ich hatte vorher nicht
berücksichtigt, daß für eingeklappte Bereiche in der BAS-Datei eine eigene
Zeilennummern-Tabelle angelegt wird.

- Jetzt sollten auch einzeilige Funktionen endlich wieder richtig
funktionieren.

- Beim Befehl MAC_OS wurde der nachfolgende Code teilweise falsch
übersetzt. Ein Flüchtigkeitsfehler ... ;-)

- Die Environmentvariable $HOME wird jetzt auch dann richtig ausgewertet,
wenn der Variableninhalt nicht mit einem Backslash endet (KLiB).

- Beim Zentrieren von Dialogen wird jetzt die Titelzeile berücksichtigt
(KLiB). Dadurch ist der Einstellungsdialog in ST HOCH nicht mehr ganz so
extrem unter die Menüzeile gequetscht. Eine noch kleinere Auflösung ist
trotzdem nicht ratsam.

- Beim Laden der INF-Datei werden die Fensterpositionen jetzt genauer
daraufhin überprüft, ob von dem Fenster überhaupt was auf dem Bildschirm
erscheint (z.B. nach Auflösungswechsel).

- Optische Korrekturen an der Ressource-Datei.

- Testweise wertet der Library-Maker jetzt die Befehle

    COMPILER "LIB_MAKER OFF" und
    COMPILER "LIB_MAKER ON"

aus.

ACHTUNG: Ich habe diese neue Option bisher noch nicht getestet!

- Die Version 2.49 des Library-Makers wurde mit der Basic-Version 5.17
compiliert. Der in vorherigen Versionen des Basics vorhandene Fehler beim
Einklinken in die XBRA-Verkettung sollte hier nicht mehr vorhanden sein.
Von daher sollte es nicht mehr zu Systemabstürzen kommen, wenn zwei mit
Omikron-Basic kompilierte Programme nacheinander gestartet und in der
selben Reihenfolge wieder beendet werden. Falls doch: bitte den fälligen
Bugreport an Uwe Berkhan (den Programmierer des Basic) schicken.

- Die Dialogfenster, bei denen es keinen Unterschied zwischen "OK" und 
"Abbruch" gibt (die Pfadbox und der Copyright-Dialog) sind jetzt mit einem 
Closer ausgerüstet.

- Falls ohne Multitasking der ST-Guide oder das Basic als Programm 
nachgestartet wird, so werden nach dem Beenden alle Fenster neu gezeichnet.

- Es sind keine doppelten Fenster-Alerts mehr möglich.

- Falls die Meldung AV_PATH_UPDATE nach dem Speichern einer Datei nicht 
erfolgreich abgesetzt werden kann erscheint keine Fehlermeldung mehr.

- Korrektur des Cursorverhaltens bei leerem Editfeld (KLiB).

- Hoffentlich eine Beschleunigung der Oberfläche (KLiB). Ich kann das 
schlecht testen, weil sie auf meinem TT ausreichend schnell ist ...

Neues in Version 2.48

- Nochmalige Korrektur der Offset-Berechnung bei einzeiligen IFs;

- Korrektur beim Aufruf des ST-Guide (in Version 2.47 hatte sich da ein
Fehler eingeschlichen);

- Korrektur der Objc_Draw-Routine in der KLiB: die 3D-Darstellung sollte
jetzt auch beim Anklicken von Objekten wirklich nach 3D aussehen, (ich
hatte das Clipping für das Neuzeichnen zu eng gesetzt);

- Kleine interne (Geschwindigkeits-)Optimierungen, die wahrscheinlich
niemand bemerken wird.


Neues in Version 2.47 (nicht öffentlich)

- Der Fortschrittsbalken bei der Library-Erzeugung flackert jetzt nicht
mehr, weil nicht mehr das gesamte Fenster sondern nur noch die betroffenen
Objekte neu gezeichnet werden.

- Der Redraw-Fehler bei Veränderungen in hintenliegenden Fenstern ist
entfernt (betraf nur das Pfadfenster);

- Korrektur der Versionsprüfung beim Laden der INF-Datei;

- Korrektur beim Setzen der Fensterpositionen nach dem Laden der INF-Datei;

- Kein Absturz mehr bei "Library erzeugen" ohne ausgewählte BAS-Datei und
Klicken auf Abbruch in der Dateiauswahlbox;


Neues in Version 2.46 (nicht öffentlich)

Die Version 2.46 soll die Bugs ausbügeln, die ich in die Version 2.45
eingebaut habe. Im Einzelnen hat sich seit der Version 2.45 folgendes
getan:

- Der Befehl MAC_OS wird unterstützt. Dadurch können Libraries erstellt
werden, die in die Power-Mac-Native-Version des Omikron.Basic eingebunden
werden und Betriebssystemaufrufe des Mac-OS enthalten.

- Die Berechnung der Offsets bei einzeiligen IFs wurde vollständig
überarbeitet.

- Grundsätzlich werden jetzt alle Offsets bei allen IFs und bei allen
Schleifen immer neu berechnet. Bisher ging der Library-Maker davon aus, daß
der Offset korrekt ist, wenn er ungleich 0 ist. Das war ein Fehler, weil
der Basic-Editor 5.xx die Offsets nicht automatisch korrigiert. Nicht
lauffähige Libraries sollten damit der Vergangenheit angehören. Dieser
Fehler war für die z.T nicht lauffähigen Libraries verantwortlich. Ich
hoffe, daß ich jetzt alle Fehler korrigiert habe und der Library-Maker nur
noch korrekte Libraries erzeugt.

- Die Zeilennummern werden nur noch für das Display verwendet. Für die
Erstellung der Libraries sind sie völlig ohne Bedeutung. Dadurch ist es
nicht mehr möglich, daß der LM durch merkwürdige Zeilennummerierungen aus
dem Tritt gebracht wird. In Einzelfällen konnte das zu Abstürzen führen
(manche Leute haben aber auch merkwürdige Vorstellungen von
Nummerierungen ;-)).

- Auch einzeilige Funktionen und leere Prozeduren sollten jetzt korrekt
übersetzt werden. Ich habe es zwar nicht überprüft, aber da ich an diesem
Teil des Codes vorher nie etwas verändert hatte, dürften einzeilige
Funktionen bisher noch nie richtig funktioniert haben.

- Die Mausabfrage in den Dialogen wurde korrigiert (hoffentlich keine
"tote" linke Maustaste mehr).

- Button-Auswertung korrigiert.

- Korrektur beim Redraw hintenliegender Fenster.

- Die LIBRARY CODE-Zeile enthält jetzt immer die Versionsnummer des
Library-Maker, mit dem die Library erstellt wurde (einfachere Fehlersuche).

- Der Lade- und Speichervorgang der SYS- und INF-Datei wurde beschleunigt.

- Korrektur beim Aufruf des ST-Guide bzw. des Basic falls kein AV-Start
möglich ist.

- Anpassung der RSC-Datei an Geneva (der Hauptdialog sah unter Geneva
einfach grauenhaft aus).

- Die Texte der Buttons, die durch die Undo- bzw. Help-Taste ausgelöst
werden, können jetzt in der SYS-Datei verändert werden.



Neues in Version 2.45

Nachdem die Version 2.0 im Wesentlichen von einer modernisierten
Oberfläche geprägt war hat sich bei der Version 2.5 nun auch bei den
Libraries bzw. bei den Anforderungen an den Basic-Code was getan.

Außerdem gibt es eine Änderung, die nichts mit dem Programmcode zu tun
hat: Omikron hat sich jetzt doch dazu durchringen können, den Library-
Maker freizugeben. Der Library-Maker ist deshalb ab der Version 2.5
Freeware. Da ich den Support des Programms schon vorher übernommen
hatte, ändert sich daran nichts.

Im Einzelnen gibt es folgende Veränderungen:

- Wegfall der Demoversion. ;-)
- Außerhalb von Prozeduren/Funktionen dürfen jetzt neben Kommentaren
auch Klammern zum Einklappen des Codes stehen ("{" und "}").
- Vor der ersten Prozedur, die der Library dem Namen gibt, dürfen
jetzt auch Kommentare stehen. Die erste Prozedur darf außerdem
eingerückt und/oder eingeklappt sein.
- Die Fehlermeldung "Unitialisierte Offsets" gibt es nicht mehr. Der
Library-Maker berechnet die Offsets jetzt selber.
- Der Library-Maker unterscheidet jetzt zwischen Library-lokalen und
globalen Prozeduren/Funktionen/Variablen. Die neuen Libraries sind
trotzdem kompatibel zu älteren Versionen des Interpreters bzw.
Compilers.
- Die Alertboxen liegen jetzt (fast immer) in Fenstern.
- Durch eine zusätzliche externe Datei kann für jedes einzelne Alert
bestimmt werden, ob es im Programmablauf erscheinen soll oder nicht.
Auch das Format des Zeitstempels kann in der Datei verändert werden.
- der Library-Maker kann auf Wunsch automatisch Pfad und Namen der
Library-Datei und der Protokoll-Datei aus dem Namen der Basic-Datei
bilden.
- Das Pfadfenster kann beim Programmstart automatisch geöffnet werden.
- Alle Einstellungen können jetzt am Programmende automatisch
gesichert werden.
- Nach erfolgreicher Übersetzung einer Library kann wahlweise
automatisch der Library-Maker beendet, das Basic gestartet oder eine
Meldung an das Basic geschickt werden.
- Korrektur der Iconify-Funktion und Unterstützung von mehreren Icons
für die verschiedenen Dialoge.
- kleine Korrekturen bei der Pfadverwaltung.
- kleine Korrekturen bei der Dialogverwaltung.
- interne Umgestaltung des Codes für die Library-Erzeugung zur
Gewinnung von mehr Übersicht.
- Der Library-Maker unterstützt jetzt auch BubbleGEM, die
Sprachblasenhilfe.


Neues in Version 2.0

Die Libraries, die die Version 2.0 erzeugt, unterscheiden sich nicht
von denen, die die letzte von Omikron veröffentlichte Version (1.4)
erzeugt hat. Jedenfalls sollten sie das nicht und sie haben es bei
meinen Tests auch nicht getan.

Das Neue der Version 2.0 ist vielmehr die Multitasking-Tauglichkeit
des Programms und eine vollständig überarbeitete Benutzeroberfläche.
Die Oberfläche wurde weitestgehend an den aktuellen Stand der
Entwicklung im Bereich der TOS-kompatiblen Software angepaßt. Im
Einzelnen bietet die neue Oberfläche folgendes:

- alle Dialoge in Fenstern;
- alle Dialoge vollständig tastaturbedienbar;
- uneingeschränkt lauffähig unter MagiC 2-5, MagiC Mac und MagiC PC
(hoffe ich jedenfalls ;-));
- Drag&Drop ist möglich;
- der Library-Maker versteht VA_Start und wertet die Kommandozeile aus
(von Shel_Write oder Pexec);
- Shutdown und Iconify wird unterstützt;
- Online-Hilfe kontextsensitiv mit ST-Guide;
- der ST-Guide kann auch nachgeladen werden;
- der Library-Maker wird nicht mehr nach einem Übersetzungsvorgang
beendet;
- alle Einstellungen lassen sich speichern und wieder laden;
- der Library-Maker ist vollständig lauffähig im TT-RAM;
- In die LIBRARY CODE-Zeile kann automatisch ein Zeitstempel eingefügt
werden.

In Zusammenwirken mit dem Basic-Editor ab V. 5.XX ist es somit möglich
- genug RAM vorausgesetzt (was allerdings im Wesentlichen ein Problem
des Basic-Editors und nicht des Library-Makers ist) - den Library-
Maker parallel zum Basic-Editor laufen zu lassen. Die Library wird im
Editor verändert, einmal gespeichert, mit einem Mausklick zum Library-
Maker gewechselt und einmal auf RETURN gedrückt und schon wird eine
neue Version der Library erstellt. Anschließend braucht nur noch
zurück zum Editor gewechselt werden, um dort in einem zweiten Fenster
das Library-Testprogramm mit der frischen Library zu versorgen.

Theoretisch kann auch während der Erstellung einer Library in anderen
Programmen weitergearbeitet werden, weil der Library-Maker jetzt auch
bei der Arbeit multitasking-freundlich ist. Praktisch wird das
allerdings nur bei sehr großen Libraries möglich sein, weil der
Library-Maker sonst einfach zu schnell fertig ist.

Weggefallen sind in der neuen Version des Library-Makers auch zwei
Dinge.

Zum einen gibt es keine englisch-sprachige Ressource-Datei mehr.
Sollte es tatsächlich ernsthaften Bedarf dafür geben, könnte ich eine
eigene englische Version erstellen.

Zum anderen wird am Ende des Übersetzungsvorgangs nicht mehr
angezeigt, wie lange die Übersetzung gedauert hat. Ich habe keine
sinnvolle Möglichkeit gefunden, das in die neue Oberfläche einzubauen,
ohne die Benutzerführung zu verschlechtern.