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.
|