<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>BlitzBasic Portal Worklogs - FireBasic</title>
		<link>https://www.blitzforum.de/worklogs/196/</link>
		<description>Worklog von flona</description>
		<language>de</language>
		<managingEditor>mail@blitzforum.de</managingEditor>
		<webMaster>mail@blitzforum.de</webMaster>
		<pubDate>Wed, 14 Jul 2010 22:07:24 +0200</pubDate>
		<lastBuildDate>Wed, 14 Jul 2010 22:07:24 +0200</lastBuildDate>

		<item>
			<title>Debugger</title>
			<link>https://www.blitzforum.de/worklogs/196/#2689</link>
			<guid>https://www.blitzforum.de/worklogs/196/#2689</guid>
			<author>flona</author>
			<description>Nein, das Projekt ist nicht tot, das Wetter ist einfach zu sch&amp;ouml;n &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; .&lt;br /&gt;&lt;br /&gt;Die letzten Tage hab ich mich aber mal wieder dazu gezwungen weiterzumachen.&lt;br /&gt; &lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt; Ergebnis: Ein bisher recht gut gelungener Debugger.&lt;br /&gt;Es hat mich einiges an Zeit gekostet mich in die Materie einzulesen, aber jetzt hats geklappt. Der Debugger ist komplett in die IDE integriert, bzw. mit der IDE identisch. Diese Tatsache macht auch so etwas m&amp;ouml;glich:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.dreier-florian.kilu.de/Debugger.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Die einfachsten Befehle wie Schritt usw. funktionieren schon.&lt;br /&gt;&lt;br /&gt;Muss mir nur noch &amp;uuml;berlegen wo ich die Debuglogs anzeigen lasse und wie ich des mit den Variablenwerten anzeigen hinbekomm.&lt;br /&gt;&lt;br /&gt;Das solls auch schon wieder gewesen sein.&lt;br /&gt;mfg Florian&lt;br /&gt;&lt;br /&gt;P.S.: Viel Spass mit dem sch&amp;ouml;nen Wetter &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; </description>
			<pubDate>Wed, 14 Jul 2010 22:07:24 +0200</pubDate>
		</item>

		<item>
			<title>Version 0.3 Beta</title>
			<link>https://www.blitzforum.de/worklogs/196/#2147</link>
			<guid>https://www.blitzforum.de/worklogs/196/#2147</guid>
			<author>flona</author>
			<description>Hi,&lt;br /&gt;Version 0.3 ist fertig.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;New&lt;/span&gt;&lt;br /&gt;New funktioniert jetzt &amp;auml;hnlich wie in Java.&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('0')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox0&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('0')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox0&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('0');&quot;&gt;&lt;br /&gt;Type TTest&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method TTest&amp;#40;Name$&amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Notify &amp;quot;Ein Objekt der Klasse TTest wurde von &amp;quot;+Name$+&amp;quot; erstellt!&amp;quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; EndMethod&lt;br /&gt;EndType&lt;br /&gt;&lt;br /&gt;Test&amp;#58;TTest = New TTest&amp;#40;&amp;quot;mir&amp;quot;&amp;#41;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;IDE&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.DreierFlorian.kilu.de/IDEScreen.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;Features:&lt;br /&gt; + Unter XP wird statt der Ribbon einfach eine Men&amp;uuml;leiste angezeigt(F&amp;uuml;r Vista u. Win7 Nutzer: Einfach im Kompatiblit&amp;auml;tsmodus XP starten)&lt;br /&gt; + Neu/&amp;Ouml;ffnen/Speichern/Speichern unter&lt;br /&gt; + Suchen/Ersetzen&lt;br /&gt; + Datei/Ordnerpfad einf&amp;uuml;gen&lt;br /&gt; + Auswahl kommentieren&lt;br /&gt; + Zeilennummern&lt;br /&gt; + Schnelles Highlighting&lt;br /&gt; + Anpassbares Quick-Access-Menu&lt;br /&gt; + Drag &amp;amp; Drop (Man zieht eine oder mehrere Dateien &amp;uuml;ber das Fenster, l&amp;auml;sst die Maustaste los und die Dateien werden geladen)&lt;br /&gt; + Mehrere Dateien k&amp;ouml;nnen gleichzeitig ge&amp;ouml;ffnet werden(s. Tab's am unteren Fensterrand)&lt;br /&gt; + Eigenschaften-Dialog:&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.DreierFlorian.kilu.de/Eigenschaften.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;  &lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt;  &lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.DreierFlorian.kilu.de/Details.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;ToDo:&lt;br /&gt; - Drucken&lt;br /&gt; - Alle ersetzen&lt;br /&gt; - Benutzerdefiniertes Highlighting&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Hilfe&lt;/span&gt;&lt;br /&gt;...ist mit dabei, allerdings noch nicht fertig.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;a href=&quot;http://www.dreierflorian.kilu.de/downloadfile.php?downid=4&quot; target=&quot;_blank&quot;&gt;Download FireBasic 0.3 Beta&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;font-size: 9px;&quot;&gt;(rar-Datei) Gr&amp;ouml;&amp;szlig;e: 938kB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bitte teilt mir alle Bugs mit, die ihr findet.&lt;br /&gt;&lt;br /&gt;Viel Spass damit&lt;br /&gt;mfg Florian</description>
			<pubDate>Sun, 21 Feb 2010 13:01:52 +0100</pubDate>
		</item>

		<item>
			<title>Version 0.3 in Sicht</title>
			<link>https://www.blitzforum.de/worklogs/196/#2132</link>
			<guid>https://www.blitzforum.de/worklogs/196/#2132</guid>
			<author>flona</author>
			<description>Hi,&lt;br /&gt;Gleich mal vorweg: Heute gibt es leider noch keine neue Version.&lt;br /&gt;Allerdings hat sich mittlerweile schon wieder einiges getan.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;IDE&lt;/span&gt;&lt;br /&gt;Es wird mit Version 0.3 eine neue IDE geben, die den langsamen instabilen Vorg&amp;auml;nger abl&amp;ouml;sen wird. Um diese Vors&amp;auml;tze zu verwirklichen musste ich allerdings auf C++ ausweichen. Als Edit-Control fungiert dabei Scintilla, die unter anderem auch in IDEal und Notepad++ zum Einsatz kommt. Die Oberfl&amp;auml;che wurde ausserdem durch eine schicke Ribbon-Oberfl&amp;auml;che ersetzt. Diese funktioniert allerdings nur unter Vista und Win7. F&amp;uuml;r XP werde ich also noch eine Men&amp;uuml;-Toolbar-Combi schreiben m&amp;uuml;ssen. Was bereits funktioniert:&lt;br /&gt; - &amp;Ouml;ffnen/Speichern&lt;br /&gt; - Highlighting von Keywords, Standardtypes, Strings, ...&lt;br /&gt; - Auswahl kommentieren&lt;br /&gt; - Suchen/Ersetzen&lt;br /&gt; - Compiler aus der IDE heraus starten&lt;br /&gt;Ich wei&amp;szlig; das ist noch nicht besonders viel, aber in jedem Fall besser als die Alte.&lt;br /&gt;&lt;span&gt;&lt;img onload=&quot;resize_image(this)&quot; src=&quot;http://www.DreierFlorian.kilu.de/screen.png&quot; alt=&quot;user posted image&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Hilfe&lt;/span&gt;&lt;br /&gt;Ich hab nun angefangen mithilfe des HTML Help Workshop eine Hilfe zu erstellen. Dokumentiert sind bereits die Standardfunktionen(z.B. Mid, Millisecs, Len, ...) sowie die Klassen TGadget, TWindow und TConsole. Der Rest wird hoffentlich bald dazukommen. Die Hilfe kann dann mit dem Hilfe Symbol aus der IDE heraus aufgerufen werden.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Threads&lt;/span&gt;&lt;br /&gt;Mit Version 0.3 wird es Threads in Form einer THREAD.ext geben. Dazu ein Beispiel zur Veranschaulichung:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('1')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox1&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('1')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox1&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('1');&quot;&gt;Include &amp;quot;THREAD&amp;quot;&lt;br /&gt;&lt;br /&gt;start = Millisecs&amp;#40; &amp;#41;&lt;br /&gt;Thread&amp;#58;TThread = TThread.Create&amp;#40; *DoSomething &amp;#41;&lt;br /&gt;Thread.SetPriority&amp;#40; TThread.Lowest &amp;#41;&lt;br /&gt;Thread.WaitFor&amp;#40; &amp;#41;&lt;br /&gt;ende = Millisecs&amp;#40; &amp;#41;&lt;br /&gt;diff = ende-start&lt;br /&gt;Notify diff&lt;br /&gt;&lt;br /&gt;Function DoSomething&amp;#40; &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp;a = 1&lt;br /&gt;&amp;nbsp; &amp;nbsp;Loop 1000000000&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;a = a*5555555&lt;br /&gt;&amp;nbsp; &amp;nbsp;EndLoop&lt;br /&gt;EndFunction&lt;/div&gt;&lt;br /&gt;Denke ich ist relativ selbsterkl&amp;auml;rend. Es gibt auch noch die M&amp;ouml;glichkeit der Funktion die als Thread gestartet wird einen Parameter mitzugeben.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Zu guter letzt noch eine &amp;Uuml;berlegung: Ich werde wahrscheinlich Konstruktoren so einbauen, wie sie in Java funktionieren. Man m&amp;uuml;sste also nichtmehr Win:TWindow = TWindow.Create( ... ) , sondern Win:TWindow = New TWindow ( ... ) schreiben. Das nat&amp;uuml;rlich nicht nur f&amp;uuml;r TWindow, sondern auch f&amp;uuml;r alle anderen.&lt;br /&gt;Was haltet ihr von der Idee?&lt;br /&gt;&lt;br /&gt;Bis bald&lt;br /&gt;&lt;br /&gt;mfg Florian</description>
			<pubDate>Mon, 08 Feb 2010 21:37:11 +0100</pubDate>
		</item>

		<item>
			<title>Version 0.2 Built 8</title>
			<link>https://www.blitzforum.de/worklogs/196/#2030</link>
			<guid>https://www.blitzforum.de/worklogs/196/#2030</guid>
			<author>flona</author>
			<description>Kleines Update:&lt;br /&gt;Bin heute mal wieder auf ein paar Bugs gestossen. Ein paar Vergleichsoperatoren funktionierten noch nicht richtig und ein weiterer trat bei negativen Kommazahlen auf: Dort wurde falscher ASM-Code erzeugt, sollte jetzt allerdings behoben sein.&lt;br /&gt;Au&amp;szlig;erdem wurden der Funktion 'TWindow.Create' zwei neue Default-Parameter verpasst. Ihr kennt das ja man will ein Fenster in der Mitte des Bildschirms erzeugen und muss dazu Breite, H&amp;ouml;he des Desktops abfragen, durch 2 teilen ... . Wird statt X-Pos und Y-Pos nun -1(Default) &amp;uuml;bergeben richtet sich das Fenster automatisch mittig zu seinem Parent aus. Der Aufruf sieht dann im Moment z.B. so aus: TWindow.Create ( &amp;quot;Titel&amp;quot;, , , 200, 100 )&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;a href=&quot;http://www.dreierflorian.kilu.de/downloadfile.php?downid=4&quot; target=&quot;_blank&quot;&gt;Download FireBasic 0.2 Alpha Built 8&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;font-size: 9px;&quot;&gt;(rar-Datei)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eine weitere &amp;Uuml;berlegung von mir war, dass man ja nun das Fenster nichtmehr an der Position -1, -1 positionieren kann. -1, -1 als Breite, H&amp;ouml;he hingegen ergibt keinen Sinn. Deshalb k&amp;ouml;nnte man den Aufruf so TWindow.Create ( &amp;quot;Titel&amp;quot;, 200, 100 ) umschreiben.  &lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt; Wenn Breite=H&amp;ouml;he=-1 dann x=Breite, y=H&amp;ouml;he und Position=mittig zum Parent. Ich hoffe ihr versteht was ich meine.&lt;br /&gt;Was haltet ihr davon?&lt;br /&gt;&lt;br /&gt;mfg flona</description>
			<pubDate>Thu, 31 Dec 2009 17:01:15 +0100</pubDate>
		</item>

		<item>
			<title>Version 0.2 Built 7</title>
			<link>https://www.blitzforum.de/worklogs/196/#1996</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1996</guid>
			<author>flona</author>
			<description>So, die letzte Schulaufgabe vor den Ferien ist geschafft &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; . Deshalb habe mich heute gleich wieder FireBasic gewidmet und die GUI Extension um 2 (genaugenommen 3) neue Klassen erweitert.&lt;br /&gt;Die ersten sind ist &lt;b&gt;TMenu&lt;/b&gt; und &lt;b&gt;TMenuItem&lt;/b&gt;:&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;Type TMenu Abstract Final&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Field Handle:INT&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Field Parent:TGadget&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Function Create ( [Parent:TGadget=0] )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method AddItem:TMenuItem ( Text$ )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method AddMenu:TMenu ( Text$ )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method Update ( )&lt;br /&gt;EndType&lt;/div&gt;&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;Type TMenuItem Abstract Final&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Field ID:INT&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method onCommand ( Pointer )&lt;br /&gt;EndType&lt;/div&gt;&lt;br /&gt;In Handle wird das Handle des Men&amp;uuml;s gespeichert und in Parent das Fenster auf dem es angezeigt wird.&lt;br /&gt;Die statische Funktion Create erstellt das Men&amp;uuml;. Wird kein Parent angegeben handelt es sich um ein Kontextmen&amp;uuml;(Wird im Moment allerdings noch nicht unterst&amp;uuml;tzt).&lt;br /&gt;AddItem erzeugt einen normalen Eintrag. Die zus&amp;auml;tzliche Klasse war leider aufgrund des Eventsystems von N&amp;ouml;ten. AddMenu erzeugt ein Submen&amp;uuml;, in dem wiederrum Items und Men&amp;uuml;s erzeugt werden k&amp;ouml;nnen.&lt;br /&gt;Update muss f&amp;uuml;r das Hauptmen&amp;uuml; aufgerufen werden, um die &amp;Auml;nderunen an dem Men&amp;uuml; zu &amp;uuml;bernehmen.&lt;br /&gt;onCommand verarbeitet einen Klick auf ein Men&amp;uuml;.&lt;br /&gt;&lt;br /&gt;Die Andere Klasse ist &lt;b&gt;TListView&lt;/b&gt;.&lt;br /&gt;Zitat:&lt;div class=&quot;quotebox&quot;&gt;Type TListView Extends TGadget Abstract Final&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Function Create ( X, Y, Width, Height, Parent:TGadget[, Style=1] )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method InsertColumn ( Text$, Width, Pos )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method AddItem ( Text$ )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method InsertItem ( Text$, Line )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method SetItemText ( Text$, Line, Column )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method ClearAll ( )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method SelectedItem ( )&lt;br /&gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Method onSelChange ( Pointer )&lt;br /&gt;EndType&lt;/div&gt;&lt;br /&gt;Die Namen sind eigentlich selbsterkl&amp;auml;rend.&lt;br /&gt;Hab dem Downloadpaket ein weiteres Beispiel mit Men&amp;uuml; und ListView hinzugef&amp;uuml;gt.&lt;br /&gt;&lt;br /&gt;Beide Klassen werden nach und nach noch erweitert werden und sind nat&amp;uuml;rlich im Moment keinesfalls vollst&amp;auml;ndig.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;a href=&quot;http://www.dreierflorian.kilu.de/downloadfile.php?downid=4&quot; target=&quot;_blank&quot;&gt;Download FireBasic 0.2 Alpha Built 7&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;font-size: 9px;&quot;&gt;(rar-Datei)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Der Aufruf aus dem vorherigen Beitrag gilt nat&amp;uuml;rlich nach wie vor: Wenn ihr Bugs findet  &lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt; Bitte schicken&lt;br /&gt;&lt;br /&gt;Viel Spass damit &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;mfg Florian</description>
			<pubDate>Fri, 18 Dec 2009 18:59:51 +0100</pubDate>
		</item>

		<item>
			<title>Es ist soweit - Die erste Testversion</title>
			<link>https://www.blitzforum.de/worklogs/196/#1923</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1923</guid>
			<author>flona</author>
			<description>Hi, heute ist es soweit  &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; &lt;br /&gt;Die erste Testversion von FireBasic ist fertig. Leider die Dokumentation noch nicht, aber ich denke an den beigelegten Beispielen kann man sich die Syntax sehr schnell erschlie&amp;szlig;en.&lt;br /&gt;&lt;br /&gt;Ich bitte euch mir alle Bugs die ihr findet zu schicken. ( PM, Comments, E-Mail, ICQ, Skype )&lt;br /&gt;Ist ja auch der Sinn einer Alpha Version  &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;a href=&quot;http://www.dreierflorian.kilu.de/downloadfile.php?downid=4&quot; target=&quot;_blank&quot;&gt;Download FireBasic 0.2 Alpha Built 6&lt;/a&gt;&lt;/span&gt; &lt;span style=&quot;font-size: 9px;&quot;&gt;(rar-Datei)&lt;/span&gt;&lt;br /&gt;Built 5 zu 6:&lt;br /&gt; - STANDART in STANDARD umbenannt(wie peinlich)&lt;br /&gt; - Konsole bleibt nur offen, wenn ein Fehler aufgetreten ist&lt;br /&gt;&lt;br /&gt;Viel Spass damit&lt;br /&gt;mfg Florian</description>
			<pubDate>Wed, 04 Nov 2009 16:09:44 +0100</pubDate>
		</item>

		<item>
			<title>Endspurt - Erste Testversion in Sicht</title>
			<link>https://www.blitzforum.de/worklogs/196/#1876</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1876</guid>
			<author>flona</author>
			<description>Lange nichts geh&amp;ouml;rt. Lange hat sich auch nicht viel getan, aber die n&amp;auml;chsten Tage / Wochen wird es eine Testversion geben &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; . Einziges Hindernis im Moment: Die fehlende Dokumentation der Befehle. Habe allerdings schon damit angefangen.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&amp;Auml;nderungen seit dem letzten Eintrag:&lt;/b&gt;&lt;br /&gt;- Das komplette Eventsystem wurde neu geschrieben, welches nun erfreulicherweise tadellos funktioniert.&lt;br /&gt;- ich nun zum x-ten mal eine provisorische IDE geschrieben, deren Syntaxhighlighting noch stark zu w&amp;uuml;nschen &amp;uuml;brig l&amp;auml;sst, aber es geht ja vorrangig um FireBasic und nicht um die IDE.&lt;br /&gt;- Etliche Bugs wurden gefixt, sodass die Extensions nun stabil laufen.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ich suche derzeit nach einem Design f&amp;uuml;r die Website&lt;/b&gt; auf der:&lt;br /&gt;- FireBasic heruntergeladen werden kann&lt;br /&gt;- Die Dokumentation zu finden sein wird&lt;br /&gt;- Bugs gemeldet werden k&amp;ouml;nnen&lt;br /&gt;Wenn jemand eine Design-Idee und ein bisschen freie Zeit hat bitte schreiben  &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt;  . Zurzeit steh ich fantasiem&amp;auml;&amp;szlig;ig total auf dem Schlauch  &lt;img src=&quot;/forum/images/smiles/icon_redface.gif&quot; alt=&quot;Embarassed&quot; /&gt; . Entweder ein Grundger&amp;uuml;st der Seite oder nur eine &amp;quot;Skizze&amp;quot;.&lt;br /&gt;&lt;br /&gt;mfg Florian</description>
			<pubDate>Sun, 18 Oct 2009 18:37:05 +0200</pubDate>
		</item>

		<item>
			<title>Extensions - Der 2te Versuch</title>
			<link>https://www.blitzforum.de/worklogs/196/#1754</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1754</guid>
			<author>flona</author>
			<description>Hi, alle zusammen.&lt;br /&gt;Nach l&amp;auml;ngerer Zeit, in der es nichts au&amp;szlig;ergew&amp;ouml;hnliches zu berichten gab, melde ich mich hier mal wieder.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Extensions&lt;/span&gt;&lt;br /&gt;Ich musste die Extensions in ihrer geplanten Form ein wenig abwandeln, da ich feststellte, dass der Editor schnell sehr un&amp;uuml;bersichtlich wurde. Deshalb habe ich nun ein XML &amp;auml;hnliches Format entwickelt, das anschlie&amp;szlig;end in Bytecode kompiliert wird und dann in FireBasic eingebunden werden kann. Dazu ein kleines Beispiel:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('2')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox2&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('2')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox2&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('2');&quot;&gt;&amp;lt;TYPE=&amp;quot;TConsole&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;FIELD=&amp;quot;OutputHandle&amp;quot; typ=&amp;quot;INT&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;FIELD=&amp;quot;InputHandle&amp;quot; typ=&amp;quot;INT&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;METHOD=&amp;quot;New&amp;quot; typ=&amp;quot;INT&amp;quot; alias=&amp;quot;FB_TCONSOLE_New&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;proc FB_TCONSOLE_New Self&amp;#58;DWORD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; AllocConsole&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; GetStdHandle,STD_OUTPUT_HANDLE&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,&amp;#91;Self&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;dword &amp;#91;ecx&amp;#93;,eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; GetStdHandle,STD_INPUT_HANDLE&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,&amp;#91;Self&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;dword &amp;#91;ecx+4&amp;#93;,eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ret&lt;br /&gt;&amp;nbsp; &amp;nbsp;endp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;DLL=&amp;quot;kernel32.dll&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;AllocConsole&amp;quot; alias=&amp;quot;AllocConsole&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/DLL&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/METHOD&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;METHOD=&amp;quot;WriteLn&amp;quot; typ=&amp;quot;INT&amp;quot; alias=&amp;quot;FB_TCONSOLE_WriteLn&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;PARAMETER=&amp;quot;Text&amp;quot; typ=&amp;quot;STRING&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;proc FB_TCONSOLE_WriteLn Self&amp;#58;DWORD,text&amp;#58;DWORD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sub&amp;nbsp; &amp;nbsp; &amp;nbsp;esp,4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,esp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; 0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; lstrlen,&amp;#91;text&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; &amp;#91;text&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,&amp;#91;Self&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; dword &amp;#91;eax&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call&amp;nbsp; &amp;nbsp; &amp;#91;WriteConsole&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;esp&amp;#93;,eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,&amp;#91;text&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call&amp;nbsp; &amp;nbsp; FB_GC_CRef&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sub&amp;nbsp; &amp;nbsp; &amp;nbsp;esp,4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,esp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,&amp;#91;Self&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; WriteConsole,&amp;#91;eax&amp;#93;,CR,1,ecx,0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; add&amp;nbsp; &amp;nbsp; &amp;nbsp;esp,4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; pop&amp;nbsp; &amp;nbsp; &amp;nbsp;eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ret&lt;br /&gt;&amp;nbsp; &amp;nbsp;endp&lt;br /&gt;&amp;nbsp; &amp;nbsp;CR&amp;#58; db 10,0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;DLL=&amp;quot;kernel32.dll&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;lstrlenA&amp;quot; alias=&amp;quot;lstrlen&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;GetStdHandle&amp;quot; alias=&amp;quot;GetStdHandle&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;WriteConsoleA&amp;quot; alias=&amp;quot;WriteConsole&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/DLL&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/METHOD&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;METHOD=&amp;quot;Input&amp;quot; typ=&amp;quot;STRING&amp;quot; alias=&amp;quot;FB_TCONSOLE_Input&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;proc FB_TCONSOLE_Input Self&amp;#58;DWORD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; local&amp;nbsp; &amp;nbsp;stdin&amp;#58;DWORD,oldmode&amp;#58;DWORD&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,&amp;#91;Self&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;eax,&amp;#91;eax+4&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;stdin&amp;#93;,eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; lea&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,&amp;#91;oldmode&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; GetConsoleMode,eax,ecx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,&amp;#91;oldmode&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; or&amp;nbsp; &amp;nbsp; &amp;nbsp; ecx,2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; SetConsoleMode,&amp;#91;stdin&amp;#93;,ecx&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; stdcall FB_GC_New,256&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; push&amp;nbsp; &amp;nbsp; eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sub&amp;nbsp; &amp;nbsp; &amp;nbsp;esp,4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; mov&amp;nbsp; &amp;nbsp; &amp;nbsp;ecx,esp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; ReadConsole,&amp;#91;stdin&amp;#93;,eax,255,ecx,0&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; add&amp;nbsp; &amp;nbsp; &amp;nbsp;esp,4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; invoke&amp;nbsp; SetConsoleMode,&amp;#91;stdin&amp;#93;,&amp;#91;oldmode&amp;#93;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; pop&amp;nbsp; &amp;nbsp; &amp;nbsp;eax&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ret&lt;br /&gt;&amp;nbsp; &amp;nbsp;endp&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ASM&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;DLL=&amp;quot;kernel32.dll&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;GetStdHandle&amp;quot; alias=&amp;quot;GetStdHandle&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;GetConsoleMode&amp;quot; alias=&amp;quot;GetConsoleMode&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;SetConsoleMode&amp;quot; alias=&amp;quot;SetConsoleMode&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;FUNCTION=&amp;quot;ReadConsoleA&amp;quot; alias=&amp;quot;ReadConsole&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/DLL&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/METHOD&amp;gt;&lt;br /&gt;&amp;lt;/TYPE&amp;gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Durch diese Form werden auch wirklich nur verwendete Dll's geladen und nur verwendeter Code wird kompiliert. Die XML-Dateien haben die Dateiendung .extension und die Bytecodeform .ext. Der Converter wird sp&amp;auml;ter mitgeliefert werden, was es dem Benutzer erm&amp;ouml;glicht seine Codes anderen Leuten zur Verf&amp;uuml;gung zu stellen. Die Standart-Runtime wird ebenfalls als STANDART.ext gespeichert, wodurch &amp;Auml;nderungen sehr schnell &amp;uuml;bernommen werden k&amp;ouml;nnen.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;CMD&lt;/span&gt;&lt;br /&gt;Die GUI habe ich im Moment hinten angestellt, da es dort noch ein paar kleine Bugs aufzusp&amp;uuml;ren gibt.&lt;br /&gt;Also habe ich mich ein wenig mit der CMD.ext besch&amp;auml;ftigt. Ein Teil des Codes habe ich ja bereits oben geschrieben. Der bisherige Umfang ist folgender:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('3')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox3&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('3')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox3&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('3');&quot;&gt;Type TConsole&lt;br /&gt;&amp;nbsp; &amp;nbsp; Field OutputHandle&amp;#58;INT&lt;br /&gt;&amp;nbsp; &amp;nbsp; Field InputHandle&amp;#58;INT&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method New &amp;#40; &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method Write &amp;#40; Text&amp;#58;STRING &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method WriteLn &amp;#40; Text&amp;#58;STRING &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method Input&amp;#58;STRING &amp;#40; &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method SetColor &amp;#40; Color&amp;#58;INT &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method SetCursorPosition &amp;#40; X&amp;#58;INT, Y&amp;#58;INT &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method SetTitle &amp;#40; Title&amp;#58;STRING &amp;#41;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Method GetTitle&amp;#58;STRING &amp;#40; &amp;#41;&lt;br /&gt;EndType&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;W&amp;uuml;rde mich &amp;uuml;ber sinnvolle Erg&amp;auml;nzungsvorschl&amp;auml;ge sehr freuen &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; &lt;br /&gt;&lt;br /&gt;mfg Florian</description>
			<pubDate>Mon, 07 Sep 2009 21:06:08 +0200</pubDate>
		</item>

		<item>
			<title>FireBasic ist von den Toten auferstanden!</title>
			<link>https://www.blitzforum.de/worklogs/196/#1507</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1507</guid>
			<author>flona</author>
			<description>Also der Grund f&amp;uuml;r die lange Auszeit: Fehlende Motivation und keine Zeit.&lt;br /&gt;Der Garbage Collector l&amp;auml;uft nun mittlerweile nachdem einige Bugs entfernt wurden relativ stabil.&lt;br /&gt;Die Bugs zu finden war oftmals nicht so ganz einfach  &lt;img src=&quot;/forum/images/smiles/icon_arrow.gif&quot; alt=&quot;Arrow&quot; /&gt;  Demotivation &lt;img src=&quot;/forum/images/smiles/icon_wink.gif&quot; alt=&quot;Wink&quot; /&gt; &lt;br /&gt;&lt;br /&gt;Wollen wir nich l&amp;auml;nger bei der Vergangenheit verharren und wenden und der Gegenwart zu:&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Statische Funktionen&lt;/span&gt;&lt;br /&gt;Heute habe ich Statische Funktionen eingebaut, also Funktionen, die an einen Type(=Klasse) gebunden sind. Im Vergleich zu Methoden sind sie aber nicht von Objekten abh&amp;auml;ngig(Kennen die meisten sowieso von BM). Ein kleines Beispiel was FireBasic bisher in dem Bereich kann:&lt;br /&gt;&lt;b&gt;Code: &lt;/b&gt;&lt;span style=&quot;font-size:0.8em; display:inline;&quot; id=&quot;showcodebox4&quot;&gt; &lt;a href=&quot;javascript&amp;#058;show_code('4')&quot;&gt;[AUSKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;font-size:0.8em; display:none;&quot; id=&quot;hidecodebox4&quot;&gt; &lt;a href=&quot;javascript&amp;#058;hide_code('4')&quot;&gt;[EINKLAPPEN]&lt;/a&gt; &lt;/span&gt;&lt;div id=&quot;codebox4&quot; class=&quot;codebox&quot; style=&quot;max-height: 200px;&quot; onload=&quot;check_code('4');&quot;&gt;Type TTest&lt;br /&gt;&amp;nbsp; &amp;nbsp; Const DefVal=1 &lt;br /&gt;&amp;nbsp; &amp;nbsp; Field Value &lt;br /&gt;&amp;nbsp; &amp;nbsp; Method GetValue&amp;#40;&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return Self.Value &lt;br /&gt;&amp;nbsp; &amp;nbsp; EndMethod &lt;br /&gt;&amp;nbsp; &amp;nbsp; Method SetValue&amp;#40;NewVal&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Self.Value=NewVal &lt;br /&gt;&amp;nbsp; &amp;nbsp; EndMethod &lt;br /&gt;&amp;nbsp; &amp;nbsp; Method Display&amp;#40;&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Notify &amp;quot;Value=&amp;quot;+Self.Value &lt;br /&gt;&amp;nbsp; &amp;nbsp; EndMethod &lt;br /&gt;&amp;nbsp; &amp;nbsp; Function Create&amp;#58;TTest&amp;#40;&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj&amp;#58;TTest=New&amp;#40;TTest&amp;#41; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; obj.Value=TTest.DefVal &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return obj &lt;br /&gt;&amp;nbsp; &amp;nbsp; EndFunction &lt;br /&gt;EndType &lt;br /&gt;&lt;br /&gt;obj&amp;#58;TTest=TTest.Create&amp;#40;&amp;#41; &lt;br /&gt;obj.Display&amp;#40;&amp;#41; &lt;br /&gt;obj.SetValue&amp;#40;4&amp;#41; &lt;br /&gt;obj.Display&amp;#40;&amp;#41; &lt;br /&gt;End&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 18px;&quot;&gt;Extensions&lt;/span&gt;&lt;br /&gt;Bisher wird beim Start alles initialisiert, von der Windowklasse &amp;uuml;ber den Eventmanager bis zur Socketverbindung.&lt;br /&gt;Nun werde ich den kompletten Quellcode von FireBasic in zusammenh&amp;auml;ngende Dateien verpacken(&amp;auml;hnlich den Modulen in BlitzMax). So wird es eine GUI.ext, eine TCP.ext, eine CMD.ext und eine FILE.ext geben und was sonst noch so kommt. In diesen Dateinen werden auf ASM-Ebene Initialisierungs-, Haupt- und Deinitalierungscodes gespeichert, sowie Types, Funktionen, Konstanten und zu includierende WinApi Funktionen.&lt;br /&gt;Wird nun eine ext Datei im Programmtext geladen(mit Include), dann wird der Initcode vor der MainFunction und der Deinitcode vor dem End ausgef&amp;uuml;hrt. Der Hauptcode wird ans Ende des Programmes angeh&amp;auml;ngt und die Codes der Funktionen die im Programm aufgerufen werden.&lt;br /&gt;Im Moment arbeite ich an einem kleinen Tool mit dem man diese Dateien erstellen und bearbeiten kann. Wenn ich es hinbekomme werde ich noch eine Funktion in FireBasic einbauen damit man aus normalem Code ext Dateien erzeugen kann.&lt;br /&gt;&lt;br /&gt;Kommentare, Vorschl&amp;auml;ge, Kritik etc. ist wie immer erw&amp;uuml;nscht</description>
			<pubDate>Tue, 09 Jun 2009 11:07:17 +0200</pubDate>
		</item>

		<item>
			<title>Der Garbage Collector wird kommen</title>
			<link>https://www.blitzforum.de/worklogs/196/#1317</link>
			<guid>https://www.blitzforum.de/worklogs/196/#1317</guid>
			<author>flona</author>
			<description>Ferien!!&lt;br /&gt;Soo, Latein und Englisch geh&amp;ouml;ren mal wieder der Vergangenheit an &lt;img src=&quot;/forum/images/smiles/icon_cool.gif&quot; alt=&quot;Cool&quot; /&gt; .&lt;br /&gt;Ich hab zwar nebenbei auch mal wieder ein paar kleine Bugs beseitigt, aber das w&amp;auml;re keinen Eintrag wert gewesen &lt;img src=&quot;/forum/images/smiles/icon_rolleyes.gif&quot; alt=&quot;Rolling Eyes&quot; /&gt; . Aber in der Summe hat sich dann doch einiges getan: Ich habe z.B. einige Dinge in externe Dateien ausgelagert, wie die Definitionen der Klassen. Neben ein paar kleinen (nicht nennenswerten) &amp;Auml;nderungen, habe ich mir auch ein Grundkonzept f&amp;uuml;r einen Garbage Collector &amp;uuml;berlegt.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Grundkonzept:&lt;/b&gt;&lt;br /&gt;Beim Start des Programms wird eine Globale &lt;i&gt;MemList&lt;/i&gt; vom Typ &lt;i&gt;TList&lt;/i&gt; erstellt, in der &lt;i&gt;TMemBlock&lt;/i&gt; Objekte gespeichert werden. Ein &lt;i&gt;TMemBlock&lt;/i&gt;(MemPointer;Counter) Element wird erstellt wenn ein Speicherblock von Windows angefordert wird. &lt;i&gt;MemPointer&lt;/i&gt; wird dabei auf die Adresse des Speicherblocks gesetzt und der Counter auf 0. Bei jeder Zuweisung wird in der &lt;i&gt;MemList&lt;/i&gt; nach einer &amp;Uuml;bereinstimmung mit dem vorherigen Wert der Variable und dem neuen Wert gesucht. Wird der neue Wert gefunden, wird der &lt;i&gt;Counter&lt;/i&gt; um eins erh&amp;ouml;ht. Wird der alte Wert gefunden, wird der &lt;i&gt;Counter&lt;/i&gt; um eins erniedrigt. Ist der &lt;i&gt;Counter&lt;/i&gt; auf 0 wird der Speicher freigegeben. Genauso bei den Parametern: Bei jedem Parameter wird nach einem Eintrag gesucht und evtl. erh&amp;ouml;ht. Am Ende einer jeden Funktion werden die Pointer auf dem Stack wieder von der Liste gestrichen. So nur mal im groben.&lt;br /&gt;Irgendwie kommt mir das ein wenig kompliziert vor, aber alle anderen Wege die mir einfielen hatten einen Haken  &lt;img src=&quot;/forum/images/smiles/icon_redface.gif&quot; alt=&quot;Embarassed&quot; /&gt; .&lt;br /&gt;&lt;br /&gt;Ein kleines Beispiel dazu:&lt;br /&gt;abc:Tiwas=New Tiwas&lt;br /&gt;def:Tiwas=abc&lt;br /&gt;abc=0&lt;br /&gt;def=0&lt;br /&gt;&lt;br /&gt;Speicherblock anfordern&lt;br /&gt;Neuer Eintrag(MemPointer=Speicher;Counter=0)&lt;br /&gt;Zuweisung =&amp;gt; Counter=1 (abc:Tiwas=New Tiwas)&lt;br /&gt;Zuweisung =&amp;gt; Counter=2 (def:Tiwas=abc)&lt;br /&gt;Zuweisung =&amp;gt; Counter=1 (abc=0)&lt;br /&gt;Zuweisung =&amp;gt; Counter=0 =&amp;gt; Delete  (def=0)&lt;br /&gt;&lt;br /&gt;Wenn jemand eine Idee hat wie man den GC besser implementiert, der lasse es mich bitte wissen &lt;img src=&quot;/forum/images/smiles/icon_biggrin.gif&quot; alt=&quot;Very Happy&quot; /&gt; .&lt;br /&gt;&lt;br /&gt;Ansonsten werde ich mich am heutigen Abend an die Umsetzung machen.&lt;br /&gt;</description>
			<pubDate>Sun, 05 Apr 2009 19:16:49 +0200</pubDate>
		</item>


	</channel>
</rss>
