home Atari St. Pauli Wohnungslosigkeit Asturien Download KLib KLed Library-Maker Hypertext Omikron.Basic Nährwert Bootsel Pkey Splitter Einführung Komplettpaket Libraries Programmier-Beispiel SYS-Edit Dokumentation Updates KLib-Installer Weitere Libraries
RSS-Info RSS-Feed

KLib-History

Nicht jedes Mal wenn ich was in KLib verändere rechtfertigt das sofort den Aufwand, eine neue öffentliche KLib-Version zusammenzustellen. Deshalb habe ich mich dazu entschlossen, auf dieser Seite kontinuierlich die Änderungen an KLib zu dokumentieren. Registrierte AnwenderInnen, die in dieser History eine für sie gerade wichtige Veränderung entdecken, können von mir per E-Mail die veränderten Dateien bekommen. Inzwischen gibt es außerdem auch Teilupdates für KLib.


Version 1.02 -> 1.03
29.5.2004
  • Neue Library KLOG zur Verwaltung eins LOG-Fensters. Die Library steht auf der KLib-Update-Seite zum Download separat zur Verfügung.
22.5.2004
  • Jetzt können auch FTEXT- und FBOXTEXT-Objekte in der Shortcutverwaltung von Dialogen verwendet werden.
  • Bugfix bei der Tastaturauswertung für Dialoge (nicht belegte Alternate- Kombinationen haben zu merkwürdigen Ergebnissen geführt).
18.5.2004
  • Druckdialog: Der Druckdialog wird jetzt immer mit gesetztem 3D-Flag initialisiert.
16.5.2004
  • Bugfix in der Dialogverwaltung. Bei Dialogen ohne Editfeldern kam es seit Einbau der Möglichkeit von Register-Dialogen zu einem Absturz.
8.4.2004
  • Bugfix in Klaes_Get_Mousebutton.
31.3.2004
  • Beim Doppelklick (links) auf einen (nicht-EXIT-)Button in einem Dialog wird jetzt der Button geschaltet und außerdem anschließend der Default-Button des Dialoges ausgelöst. Praktisch wird damit normalerweise ein Dialog zugleich geschlossen.
  • Unterstützung der Justierung von Editfeldern. Auch Editfelder im kleinen Systemfont werden jetzt unterstützt.
28.3.2004
  • Im Formatstring für das von verschiedenen KLib-Funktionen verwendete Datumsformat darf jetzt auch der Wochentag vorkommen.
21.3.2004
  • Beim Verkleinern eines RAM-Blocks mit Klmem_Shrink_Mem auf eine nicht durch vier teilbare Größe ist die RAM-Verwaltung unter bestimmten weiteren Voraussetzungen durcheinander gekommen.
18.1.2004
  • Neue Prozeduren zum Lesen/Setzen der Farben von AES-Objekten.
  • KLib verwaltet jetzt auch die Farbe von Hintergrund und Text in Fenstern.
3.1.2004
  • Die neue Library Kl_Colors stellt eine Farbauswahl zur Verfügung.
7.10.2003
  • Korrektur der Berechnung der Slidergröße und Position für alle Fenster.
  • Optimierung des Scrollens in Fenstern durch blitten.
1.10.2003
  • Korrektur von Kldos_Dopendir
  • Neue Funktion Kldos_Move verschiebt Dateien auch über verschiedene Laufwerke hinweg.
  • Neue Funktion Kldos_Dpathconf%L (siehe entsprechende GEMDOS-Funktion)
  • Klib unterstützt jetzt das automatische Anlegen von Backups in mehreren Versionen (maximal sind 254 erlaubt) in einen beliebig wählbaren Pfad (so wie dies bei Papyrus auch läuft).
21.9.2003
  • In KLib-Textfenstern kann jetzt mit der Maus ein Block markiert werden. Der Block wird von KLib automatisch invertiert, während die Maus (mit gedrückter Maustaste) über den Text bewegt wird. An den Fensterrändern wird automatisch gescrollt, optional werden nur ganze Zeilen markiert.
Version 1.01 -> 1.02
15.6.2003
  • FN Kldia_Start ist jetzt eine Longinteger-Funktion. Eigentlich war sie das schon immer, aber in der Library falsch deklariert.
31.5.2003
  • Neue Library KLdreg: Diese Library dient dazu, Dialoge mit Registerkarten zu verwalten. Nach der Initialisierung der Library werden die "Reiter" den Registerkarten zugeordnet. Danach verwaltet KLib die Registerkarten ganz alleine. D.h. KLib entscheidet, welche Registerkarte gerade "oben" liegt, welche Shortcuts in dem Dialog gültig sind etc.
  • Die Verwaltung von VA_STARTPROG verbessert: es können jetzt auch mehrere Programme kurz hintereinander über KLib gestartet werden, weil KLib diese Aufträge puffert und erst an den AV-Server weitergibt, wenn dieser sie auch entgegennehmen und ausführen kann.
17.5.2003
  • Erleichterte Abfrage von Radio-Buttons
  • KLib überprüft jetzt bei Shortcuts für Dialog-Objekte nicht nur, ob diese nicht disabled sind, sondern auch, ob sie überhaupt selektierbar sind.
10.5.2003
  • In einer neuen Callback-Prozedur können Tastatureingaben in Editfelder manipuliert werden, bevor sie von KLib ausgewertet werden. Dadurch kann z.B. eine Zahleneingabe auf Einhaltung eines bestimmten Bereichs überprüft werden. Oder ein Komma wird in einem Zahlenfeld automatisch in einen Punkt verwandelt.
30.3.2003
  • Korrektur in der Fensterverwaltung: bei Anforderung einer (zu) kleinen Fensterzahl kommt es jetzt nicht mehr zu Speicherschutzverletzungen.
  • Korrektur in der Fensterverwaltung: der horizontale Scrollbalken funktioniert jetzt korrekt. Falls keine maximale Breite angegeben wird, geht KLib jetzt von 255 Spalten aus.
  • Die Alert-Texte werden nur noch zusammengebaut, wenn der Alert am Ende auch tatsächlich angezeigt wird.
  • Optimierung bei Klstr_Build_Pfad
  • Beschleunigung bei Kldos_Getenvvar$
  • KLib versucht nicht mehr, in einem Dialog den Cursor zu setzen, wenn es kein Editfeld gibt.
  • KLib sucht jetzt nicht mehr zwangsläufig in jeder RSC-Datei nach einem Menü
  • BubbleGEM funktioniert jetzt auch bei Resourcen ohne Menü.
19.10.2002
  • Scrollbare Editfelder und "Paßwortfelder funktionieren jetzt richtig.
Version 1.00 -> 1.01
14.7.2002
  • Kldos_Dfree%L: Erneuter Bugfix: jetzt gibt's auch bei Funktionsergebnissen > 2^31 keinen Fehler mehr.
  • KLAES.LIB enthält einige neue Prozeduren und Funktionen, die zur Realisierung von scrollbaren Editfeldern und "Paßwortfeldern" notwendig sind. Beide Funktionalitäten sind auch schon eingebaut, funktionieren aber noch nicht fehlerfrei.
29.3.2002
  • Klstr_Build_Pfad$: kommt jetzt auch mit Anführungszeichen klar.
  • Kldos_Get_Cmd$: neuer Versuch, das richtige Format der übergebene Kommandozeile zu erraten.
  • Neue Prozedur Klsys_Klib_Register/Neue Funktion Klsys_Klib_Libraries: jetzt kann ermittelt werden, welche Libraries (in welcher Version) geladen sind.
17.3.2002
  • Kldos_Dfree%L: Bugfix: kein Overflow mehr bei Rückgabe eines Funktionsergebnisses, das grßer als 2^30 Bytes ist. Die Rückgabe wird einfach auf diese maximale Größe begrenzt. Wer es genauer braucht: die Prozedur Kldos_Dfree liefert nach wie vor auch in der Größenordnung noch ganz exakte Daten.
  • Neue Funktionen: Klaes_Alert_Bing_On und Klaes_Alert_Bing_Off: zum Ein- und Ausschalten eines System-Bings beim Öffnen eines Alerts (egal, ob im Fenster oder nicht). Mit der ebenfalls neuen Funktion FN Klaes_Alert_Bing% kann abgefragt werden, ob diese Option ein- oder ausgeschaltet ist.
  • Kldia_Prepare_Shortcuts: jetzt werden MagiC-Objekttypen auch bei Objekten berücksichtigt, die keinen Shortcut haben. Außerdem können jetzt Objekte mit Shortcut auch unverändert bleiben (wenn Whitebak im Objektstatus nicht gesetzt ist).
  • Neue Prozedur Kldia_Change_Shortcut: die Zuordnung der Buchstaben zu Objekten des Dialoges kann nachträglich verändert werden. Das ist besonders bei Dialogen mit Registerkarten praktisch, wenn ein Shortcut auf verschiedenen Registerseiten verschiedene Objekte auslösen soll.
Version 0.77 -> 1.00
13.1.2002
  • Die Versionen 0.75-0.77 der einzelnen Libraries zu KLib gelten ab sofort als Version 1.00. Hinzu kommt eine überarbeitete ST-Guide-Dokumentation, ein überarbeitetes Beispielprogramm und ein überarbeitetes SYSedit.
Version 0.76 -> 0.77
4.11.2001
  • Bugfix: Kldat_Find_Txt%L findet jetzt auch Suchwörter, die nur ein Zeichen lang sind.
  • Neue Funktionen Klaes_Scrap_Write(Adr%L,Laenge%L,Extension$) schreibt den angegeben RAM-Block als SCRAP.+Extension$ in das Clipboard.
  • Klaes_Scrap_Write_Txt(Adr%L,Laenge%L) schreibt den RAM-Block als SCRAP.TXT in das Clipboard.
3.11.2001
  • Neue Funktion Gem_Ver$ in Gemkl eingebaut, die einen String mit Versionsnummer und Datum zurückgibt.
  • Versionsfunktionen auch in Klextvdi eingebaut.
31.10.2001
  • Einige überflüssige Variable aus diversen Libraries entfernt (EXTGEM, KLAES, KLMEM, KLSYS, RUMPF.
  • Bei KLAES und KLSYS die interne Struktur aufgeräumt.
  • Ole_Exit: hier wird jetzt Klaes_Olga_Init(0) aufgerufen.
  • Klaes_Init_Scrap: wenn kein Clipboard-Pfad gefunden und auch nicht angelegt wurde passierte durch einen Tippfehler das Falsche.
  • Neue Funktion Klfen_Set_Keyscrollmode(Fenster%,Modus%): Wenn Modus%<>0 wird das betreffende Fenster beim Betätigen von Scroll-Tasten nicht mehr gescrollt. Das ist z.B. für Editor-Fenster notwendig, weil dann der Cursor im Fenster bewegt werden soll.
  • Klfen_Size() heißt jetzt Klfen_Winsize() um Verwechselungen zu vermeiden.
  • Klsrt_Quick: Tippfehler beseitigt.
  • Neue Funktion Kldat_Get_Txt_Adr%L liefert aus dem Indexblock die Adresse des eigentlichen Textes zurück.
  • Verkürzter Aufruf: Kldat_Get_Lines(,,,): Crlf$ wird nicht übergeben (es wird FN Kldat_Crlf$ benutzt) und die maximale Zeilenzahl wird nicht übergeben (entspricht der Angabe von -1)
  • Verkürzter Aufruf: Kldat_Set_Line(,,): Crlf$ wird nicht übergeben (es wird FN Kldat_Crlf$ benutzt).
  • Klstr_Replace$ kann jetzt auch Fälle bearbeiten, in denen der Suchstring im Ersatzstring vorkommt.
  • Kleto_Lf heißt jetzt (korrekt) Kleto_Cr.
  • Einige Korrekturen in STARTGEM.BAS und STARTTOS.BAS (u.a. Get_Cmd$: jetzt wird gequotet -> Dateinamen mit Leerzeichen funktionieren.
  • Neue Prozedur Klprg_Pdlg_Init in STARTGEM.BAS eingetragen (wird in Klprg_Menue_Selected bei M_Print% und M_Setprinter% aufgerufen).
30.10.2001
  • In Klprg_Update_Wait wird jetzt die mögliche Länge des Strings überprüft und die tatsächlichen Strings entsprechend angepaßt.
  • Neue Version der Hypertext-Dokumentation (0.95) ist fertig.
28.10.2001
  • In GEMKL einige Funktionen (Appl_* und Evnt_Multi) mit Testlog ausgestattet.
  • Für Appl_Write wird jetzt ein permanenter Speicherblock in Appl_Init angefordert, damit die Applikation, die die Nachricht empfängt, länger Zeit hat, sie zu lesen (vorher war es bei Testlog-Betrieb dazu gekommen, daß die per FN Klsys_Adr%L(&String) angegebene Adresse schon nicht mehr gültig war als BubbleGEM bzw. ST-Guide die Nachricht lesen wollten).
  • Neue Prozedur Klav_Send(Nr%L,Cmd$) als vereinfachter Aufruf von Klav_Send(,,,,,,).
  • Für AV-Aufrufe (Path_Update, Progstart etc.) wird jetzt ein permanenter Speicherblock verwendet (Grund wie oben).
  • Für Dialogfenster werden jetzt keinerlei Tasten mehr ausgewertet wenn das Fenster geshadet ist.
27.10.2001
  • Aus unbekannten Grund war die Auswertung der @format-Zeile in der SYS-Datei aus dem Code in Klsys_Readsys weggefallen.
  • Jetzt kann in BubbleGEM-Texten hinter einer Variablen noch weiterer Text folgen.
6.10.2001
  • Jetzt kommt auch Get_Cmd$ (Startup-Code) mit Leerzeichen im Dateinamen zurecht.
  • Klprg_Get_Cmd$: Dateinamen werden jetzt gequotet. Bei anderen Parametern als Dateinamen kann das zu Problemen führen.
  • FN Find_Next_Para unterstützt Klprg_Get_Cmd$ beim Einbau der Quotes.
  • Klaes_Menue_Init: bei nicht vorhandenem Shortcut wird ein vorher vergebener Shortcut jetzt ggf. gelöscht
  • Klaes_Menue_Text: der Shortcut-Wechsel hat nicht korrekt funktioniert. Kldat_Find_Txt: Die Suche funktionierte nicht richtig, wenn große und kleine Buchstaben unterschieden werden sollten.
1.10.2001
  • Kldos_Get_Cmd$ und Kldos_Get_Argv$ so korrigiert, daß auch Dateinamen mit Leerzeichen korrekt bearbeitet werden.
19.6.2001
  • Einige weitere Funktionen in Klsys (speziell im Bereich Kldos) mit Testlog ausgestattet (noch keine neue Versionsnummer vergeben).
 
Version 0.75 -> 0.76
27.5.2001
  • Klfen_Getnumber: Bisher war es möglich, daß der Desktop (das Fenster mit dem GEM-Handle 0) fehlerhafter Weise von KLib für ein eigenes Fenster gehalten wurde, das gerade nicht geöffnet ist. Die Funktion überprüft dies deshalb jetzt gesondert.
26.5.2001
  • Wenn ein KLib-Popup durch drücken der rechten Maustaste aufgerufen wird (ob einfach oder doppelt ist egal) und die Maustaste vor dem Öffnen des Popups bereits wieder losgelassen wurde kann jetzt das Menü statt mit einem Mausklick rechts auch mit einem Mausklick links bedient werden. Da Dialog-Popups üblicherweise mit der linken Maustaste bedient werden ist dies nur für Kontext-Popups relevant.
31.3.2001
  • In den BubbleGEM-Hilfetexten sind jetzt Textvariablen möglich, die die Arbeit ersparen, mehrfach vorkommenden Text (z.B. für Abbruch-Buttons in verschiedenen Dialogen) immer wieder neu eingeben zu müssen.
  • Falls ein Objekt den selben BubbleGEM-Hilfe-Text wie das direkt davor beschriebene Objekt bekommen soll kann dies jetzt einfach mit einem "^" erreicht werden.
17.2.2001
  • Kltim_Get_Date und Kltim_Get_Time: Die Funktionen wurden zum Vermeiden von Überläufen in Long-Integer-Funktionen umgewandelt. In einer Reihe von weiteren KLSYS-Funktionen ergaben sich Folge-Änderungen.
20.1.2001
  • Klprg_Show_Wait/Klprg_Close_Wait: Der Wartedialog ist jetzt mit Wind_Update für Bildschirmaufbau und Mauskontrolle geklammert, damit er nicht mehr zu früh "zerstört" werden kann. Als Folgeänderung mußte Wind_Update in die Exported_Symbols der RUMPF-LIB aufgenommen werden.
  • STARTGEM.BAS, Klammer Initialisierung: Der Aufruf von Menu_Bar (darstellen der Menüleiste) mußte hinter den von Klprg_Close_Wait gestellt werden, da durch die obige Änderung ansonsten das Menü nicht korrekt initialisiert wird.
6.11.2000
  • Klaes_Bubblehelp: irgendwie klappt es nicht (mehr) mit der lokalen Variable Adr%L. Umbenennung schafft Abhilfe.
24.10.2000
  • Klaes_Get_Key: kein Absturz mehr, wenn in ein Dialog-Editfeld etwas eingegeben wird und das Programm keine Menüleiste hat.
  • Klaes_Do_Alert: die aktuelle Mausform wird jetzt gerettet und nach Abschluß des Alerts wieder eingestellt.
17.10.2000
  • Klav_Startprog: Bug entfernt, der dazu geführt hat, daß nie eine Nachricht abgesetzt wurde (Keine Ahnung, wie lange dieser Bug schon drin war. Bestimmt nicht von Anfang an ...).
8.10.2000
  • Klmem: Ausbau von Testlog und anderen Debug-Hilfen im internen Teil der Library.
  • Klmem_Verify_Blocks(Klsysmem%L): Testet korrekte Anzahl freier/belegter Blöcke
 
Version 0.72 -> 0.75
28.8.2000
  • Die globale Variable Fenster% (konstant) für die maximal erlaubte Fensterzahl aus der RUMPF.LIB in STARTGEM.BAS zurückgeholt.
  • Neues Paket für die Version 0.75 geschnürt und auf die Homepage gestellt. Ebenso eine Update-Version von Version 0.71 auf 0.75.
27.8.2000
  • Da der Compiler sich noch immer an den Libraries V. 0.75 verschluckt nochmal alles durchsucht und dabei in KLSYS und KLAES einige Tippfehler gefunden. Nach der Korrektur dieser Fehler läuft es einwandfrei. Im LOG-Modus sind allerdings auch compilierte Programme so schnarchlangsam, daß ich erstmal dachte, die Programme würden abstürzen. Ich hatte dabei aber noch nicht in die LOG-Dateien gesehen ...
22.8.2000
  • Auch in KLPOP, KLSRT und KLSYS die Abfrage auf Testlog% eingebaut.
  • Jetzt verschluckt sich der Editor irgendwie. Deshalb die globale Variable Testlog% in allen Libraries und dem STARTGEM.BAS in Testlg% umbenannt, um die Namensgleichheit mit der Prozedur zu vermeiden (obwohl das eigentlich egal sein müßte. Danach laufen Editor und Interpreter mit den neuen Libraries.
21.8.2000
  • Irgendwie ist der Wurm drin in KLib: es läßt sich nichts mehr compilieren bzw. wenn, dann stürzen die Compilate ab, wenn sie überhaupt starten. Deshalb habe ich damit begonnen, eine LOG-Funktion einzubauen. Aus allen wichtigen KLib-Funktionen heraus soll eine Prozedur aufgerufen werden, in der z.B. ein Logbuch des Programmlaufes geführt werden kann. Dafür zunächst die Prozedur Testlog(Text$) geschrieben und in STARTGEM.BAS eingefügt.
  • Alle wichtigen Prozeduren und Funktionen der Libraries KLEXTVDI, EXTGEM und KLAES enthalten jetzt jeweils am Anfang und am Ende eine Abfrage auf die globale Variable Testlog%. Falls die <>0 ist wird die Proezdur Testlog aufgerufen. Dabei gilt folgendes Verfahren: Am Prozedurbeginn wird Testlog mit dem Namen der Prozedur und allen übergebenen Parametern aufgerufen. Am Prozedurende wird Testlog erneut aufgerufen. Dabei wird der Prozedurname mit einem vorangestellten Slash und die Rückgabeparameter der Prozedur an Testlog als Text übergeben.
 
Version 0.71 -> 0.72
20.8.2000
  • Alle sonstigen einzeiligen Funktionen aus den Libraries entfernt.
  • Klmem_Init: Wenn beim Aufruf das Modus-Bit 13 gesetzt wird zählt KLMEM die Anzahl der freien/belegten Blöcke doppelt und kontrolliert ständig, ob noch alles OK ist. Das funktioniert aber nur, wenn nur eine RAM-Verwaltung (Klsysmem%L) benutzt wird. Ansonsten kommt es zu falschen Fehlermeldungen.
  • Rumpf/Startup-Code: neue globale Variable Klmem_Mode%L dient zum Setzen des Aufruf-Modus bei Klmem_Init. Die Variable wird im Startupcode in der Prozedur Programm_Init gesetzt (entsprechend der Dokumentation zum Aufruf von Klmem_Init).
27.6.2000
  • Da der Compiler sich gelegentlich (merkwürdigerweise nicht immer) an einzeiligen Funktionen in Libraries zu verschlucken scheint und ich bei den Versionsfunktionen erstmals einzeilige Funktionen verwendet habe diese in KLAES, KLEXTVDI, KLMEMDUM, KLPOP, KLSRT und KLTIO ersetzt. An den Aufrufen und Ergebnissen ändert sich nichts.
23.6.2000
  • KLMEMDUM: Klmem_Exist_Block(,,,) eingefügt. Die Prozedur liefert als Größe immer -1 und als Alloc% immer 1 zurück. Die Original-Prozedur in KLMEM liefert entweder 0 oder -1.
 
Version 0.70 -> 0.71
11.6.2000
  • Klsys_Init (RUMPF und STARTTOS.BAS): Klmem_Init%L-Aufruf wieder eingebaut (keine Ahnung wann der wie verschwunden ist).
  • PROC Start und Klsys_Init: Klaes_Appl_Init-Aufruf und Klprg_Show_Wait von der Prozedur Start im STARTGEM.BAS nach Klsys_Init verschoben.
  • Klsys_Readsys: Zeiger auf die SYS-Datei wird jetzt korrekt mit FN Klsys_Fi_Adr%L ermittelt.
  • Klsys_Sub_Readsys: Zeiger auf die SYS-Datei wird jetzt korrekt mit FN Klsys_Fi_Adr%L ermittelt. Außerdem die Suchfunktion vereinfacht.

zuletzt geändert: 07.12.2005, Karsten Lüdersen, webmaster@kalue.de