Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 25.12.2013, 16:23 Titel: Wie entwickelt sich FBEdit weiter? |
|
|
Im FreeBasic-Portal habe ich unter Downloads\IDEs\FBEdit die erfreuliche Nachricht gefunden, dass an FBEdit wieder weiter gearbeitet wird. Weiß jemand genaueres? Mich bekümmern an FBEdit zwei Schwachpunkte:
1. Der eingebaute Debugger ist instabil. Wenn ich damit in eine SUB reingehe, stürzt die FBEdit ab.
2. Der GUI-Designer ist im Vergleich zu FireFly sehr benutzerunfreundlich. Man muss in FBEdit nach der Erstellung des GUI aus der Resourcen-Datei lauter #DEFINE-Statements in die Include-Datei reinkopieren und anschließend in der Hauptdatei den Code für die Controls mit WinAPI-Befehlen hineinschreiben, die "nirgends" gescheit dokumentiert sind. Demgegenüber klickt man bei FireFly im entworfenen GUI auf ein Control und ist sofort, ähnlich wie bei Visual Basic, im Code in der zugehörigen FUNCTION, in der man den Code mit FireFly-eigenen Befehlen hineinschreiben kann, die in der Functions Library schön sauber sortiert und erklärt sind. Wird FBEdit in diese Richtung gehen?
Andererseits fehlt beim FireFly ein Editor zur Erzeugung von Konsolenanwendungen. Irgendwie habe ich das Gefühl, dass mit FBEdit und FireFly zwei konkurrierende Produkte entwickelt werden. Kann man nicht irgenwie die beiden Teams zusammenspannen, um Synergieeffekte zu nutzen und ein optimales "Visual FreeBASIC" zu erzeugen?  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 25.12.2013, 17:16 Titel: |
|
|
KetilO arbeitet, zumindest soweit wir das sehen, nicht mehr an FBEdit. Es gibt aber einige Bemühungen, einen Fork zu bauen, "FBEdit+" (der bisherige Name).
Beteiligt daran ist unter anderem St_W, aber auch jemand, den man sonst nicht innerhalb der Community antrifft (schade eigentlich, falls du das liest, melde dich doch mal an).
Ich habe länger nicht mehr in den aktuellen Stand geschaut und momentan ist das auch nicht möglich, deswegen kann ich nicht genau sagen, wie es so läuft und was genau gemacht wird.
FireFly ist nochmal was anderes, ich glaube nicht, dass sich hier irgendetwas zusammenführen lässt. Aus meiner Sicht sind beide Projekte etwas suboptimal, da sie sich auf Windows konzentrieren und wir viele Linux-User haben. Ein "Visual FreeBASIC" müsste also beide Welten unterstützen (ich mache jetzt aber keine Eigenwerbung für wxFBE, welches stätig weiterentwickelt wird).
Eines habe ich aber aus der Arbeit hier gelernt: wenn du etwas haben willst, warte nicht, bis sich jemand barmherzig darum kümmert, tue es selbst! Sonst wird es nie da sein. Willst du also FBEdit verbessert haben, zieh dir den Source, willst du FireFly besser haben, dann...ja blöd, ist kein Open Source, nix dann. |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 26.12.2013, 16:42 Titel: |
|
|
MOD, vielen Dank für die Antwort! Und viel Erfolg bei wxFBE. Ist ne feine Sache. Ich habe es neulich mal ausprobiert (FB 0.90), habe aber immer eine Fehlermeldung gekriegt, wenn ich ein kleines Testprogramm (Fenster mit Textbox und Button) laufen lassen wollte, obwohl ich die notwendige wx-c- dll im gleichen Ordner hatte wie die .bas-datei. Der gleiche Fehler trat auch bei Verwendung des Visual WX-C-Designers auf. Die Meldung war irgendwas mit win32\ld.exe .. Ich weiß es nicht mehr genau, habe es wieder deinstalliert und bleibe bei FireFly. An FBEdit selbst herumzuoptimieren wäre schön, aber dazu fehlt mir leider die Zeit und auch das notwendige WinAPI-Wissen.  |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 26.12.2013, 17:09 Titel: |
|
|
Für gewöhnlich kann man bei Problemen nachfragen. Der von dir genannte Fehler kann auftreten, wenn du die wx-c-0-9-0-2.dll.a nicht hreunterlädst, die neuerdings nicht mehr mit dem fbc mitgeliefert wird (das gilt jetzt für die meisten .dll.a).
Wenn du selbst nicht Hand anlegen willst/kannst, bist du eben auf das Wohlwollen anderer angewiesen, die sicher auch nicht viel mehr Zeit haben. |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 26.12.2013, 20:37 Titel: |
|
|
MOD, falls bei Dir der Eindruck entstanden sein sollte, dass ich Deine Abeit bezüglich WxFBE oder die anderer IDE-Entwickler nicht schätze, möchte ich Dich herzlich um Entschuldigung bitten. So war das nicht gemeint. Natürlich bin ich und wohl alle anderen auch dankbar für diese Arbeiten. Ihr steckt da viel Arbeit rein, und das verdient hohe Anerkennung. Aber nicht jeder kann Spezialist für alles sein und sich aus dem Angebotenen die für ihn optimale IDE selbst schnitzen. Und so ist es schon ok, dass man das nehmen muss, was da ist, da habe ich kein Problem. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 27.12.2013, 22:37 Titel: |
|
|
FBEdits GUI-Designer ist eben nur ein Frontend für Ressourcenskripte, dass das seit einigen Jahr...zehnten nicht mehr wirklich sinnvoll ist (skalierbares UI? Heck no!). Das von dir angesprochene manuelle rumkopieren der Res-IDs kann man sich allerdings sparen ; irgendwo in den Optionen kann ein automatischer Export beim Speichern eingestellt werden.
Firefly, keine Ahnung, kenne ich nicht. Sieht mir schwer nach nem Glue-code-Generator aus. |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 28.12.2013, 18:41 Titel: |
|
|
Ich weiß, dass es für FBEdit ein Zusatzprogramm gab, das RC-Dateien automatisch in lauffähigen (zumindest damals) FreeBASIC-Code gewandelt hat. Das FBEdit-Forum ist aber schon lange down und da war das zu finden. Ich sollte noch irgendwo eine Kopie davon haben, muss mal suchen.
Vermutlich wird Firefly den Code ähnlich zusammensetzen, wie der Designer in wxFBE. Genau kann man es ja leider nicht sagen, da Closed Source. |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 29.12.2013, 12:56 Titel: |
|
|
MOD hat Folgendes geschrieben: | Für gewöhnlich kann man bei Problemen nachfragen. Der von dir genannte Fehler kann auftreten, wenn du die wx-c-0-9-0-2.dll.a nicht hreunterlädst, die neuerdings nicht mehr mit dem fbc mitgeliefert wird (das gilt jetzt für die meisten .dll.a). |
Dies ist zwar nicht das Projekt-Forum für WxFBE, trotzdem frage ich mal, wo man die wx-c-0-9-0-2.dll.a her bekommt und wo man die hinkopieren muss und was man eventuell noch für die GUI-Programmierung braucht. Im WX-C-Designer gab es eine Hilfe-Datei, allerdings nicht auf FreeBASIC zugeschnitten. So etwas habe ich bei WxFBE auch nicht gefunden. Kann man die hernehmen? Oder sollte man sich besser die die bi-Dateien im FreeBASIC-Verzeichnis Inc\wx-c anschauen? |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 29.12.2013, 14:27 Titel: |
|
|
Die Datei gibt es als gesonderten Download auf der Projektseite vom fbc auf sourceforge. Aktuell über diesen Link http://sourceforge.net/projects/fbc/files/Binaries%20-%20Windows/Libraries/FB-win32-wx-c-0.9.0.2.zip/download.
Der Download ist bereits strukturiert in "/lib/win32/libwx-c-0-9-0-2.dll.a", d. h., dass die Datei in den "/lib/win32/" Ordner deiner FreeBASIC Installation kopiert werden muss.
Diese Trennung wurde durchgeführt, weil der fbc-Download immer größer wurde. Ich selbst hätte es zusammengelassen, bei den heutigen Bandbreiten geht der Download selbst mit DSL-light relativ schnell, aber naja...
Die wxW-Hilfe aus dem Designer könnte ich wxFBE beilegen, das stimmt. Generell ist es so, dass es keine wx-c Hilfe gibt, schon gar nicht für FreeBASIC. Im Portal gibt es ein kurzes Einsteiger-Tutorial, aber ansonsten hilft leider nur, wie beim Visual WX-C Designer, studieren der Header und hoffen, dass die wxW Hilfe übetragbar ist. Eine FreeBASIC Hilfe-Datei für wx-c für hunderte Funktionen zu erstellen, ist mir zeitlich leider nicht möglich. |
|
Nach oben |
|
 |
Lothar Schirm
Anmeldungsdatum: 24.04.2006 Beiträge: 65 Wohnort: Bayern
|
Verfasst am: 29.12.2013, 16:31 Titel: |
|
|
Vielen Dank, mit der dll.a funktioniert es. Allerdings bekomme ich eine Meldung, dass die Datei comctl32.dll nicht gefunden wurde. Wo gibt es die?
Nachtrag: Ich besitze Windows 8 und habe sie gefunden unter Windows\System32. Wie sage ich das WxFBE? |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.01.2014, 15:23 Titel: |
|
|
MOD hat Folgendes geschrieben: | Ich weiß, dass es für FBEdit ein Zusatzprogramm gab, das RC-Dateien automatisch in lauffähigen (zumindest damals) FreeBASIC-Code gewandelt hat.
|
Was genau... sollte das bringen? Oder meinst du jetzt einen Stub-Generator, der den Glue-Code für die Win-API automatisch erzeugt und man dann eben nicht im Window-Callback, sondern vorher erzeugten Funktionen seinen Code einfügt? |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 03.01.2014, 16:18 Titel: |
|
|
Ich glaube schon, dass das so war. Habe das Programm aber selbst nie wirklich benutzt.
Wer will, der kann sich hier eine Kopie ziehen: rc2code (Version 5)
Das ist die letzte mir bekannte Version des Programms. Credits sollten irgendwo im Code sein. |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 03.01.2014, 20:39 Titel: |
|
|
Ich könnt' mich jetzt drüber auslassen, dass die meisten Codegeneratoren für den produktiven Einsatz ungeeignet sind, weil sie erzeugten und danach veränderten Quellcode nicht wieder einlesen können und entsprechend Änderungen verwerfen.
Generatoren, die entweder einen anständigen Parser für die erzeugte Sprache mitbringen oder den Parser der Implementierung nutzen, sind eher selten (mir fällt spontan der Swing-Designer von IntelliJ ein). |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 03.01.2014, 20:56 Titel: Von VB6 lernen heißt siegen lernen :D |
|
|
28398 hat Folgendes geschrieben: | Ich könnt' mich jetzt drüber auslassen, dass die meisten Codegeneratoren für den produktiven Einsatz ungeeignet sind, weil sie erzeugten und danach veränderten Quellcode nicht wieder einlesen können und entsprechend Änderungen verwerfen. |
Ja, das sehe ich auch so. Der Aufbau des GUI muss logisch separiert sein vom Code, weil man den GUI-Designer und den erzeugten (und ggf. vom User modifizierten) Quelltext nicht praktikabel synchronisieren kann.
Seit einiger Zeit mache ich ein bisschen Werbung für die Idee eines FB-GUI-Builders, der ohne Code-Generierung auskommt, sondern die GUIs aus einer validierbaren XML-Datei (mit dokumentiertem XML-Schema) erzeugt und im Programm selber eine objektorientierte Schnittstelle zur Beeinflussung des GUI anbietet. Die XML-Datei für den GUI-Aufbau ließe sich wahlweise mit dem GUI-Designer beeinflussen, aber auch vom User ändern. Beides im Mischbetrieb wäre problemlos möglich.
Und bzgl. der Verwendung innerhalb des Programms: Statt sowas hier
Code: | result = foo_toolkit_modify_widget(@wndHandle, foo_toolkit_enumerate_bla(StrPtr("CheckBox1")), zstring_to_foo_toolkit_string("checked"), -1, &HFF0F) |
einfach
Code: | pizzaForm.mitExtraKaeseCheckbox.setChecked(true)
bzw. Property-mäßig
pizzaForm.mitExtraKaeseCheckbox.checked = true |
VB(Classic) hat es ja sehr ähnlich gemacht, bloß dass VB6 kein XML, sondern ein proprietäres FRM-Format zur Speicherung der Forms verwendet hat. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 06.01.2014, 13:35 Titel: |
|
|
Was in FB glaube ich wirklich schwierig wird, ist die Umsetzung eines typsicheren (Compile-Zeit!) Signal/Slot-Systems. Und das ist eine der Sachen, die gerade in größeren Anwendungen enorm praktisch ist (u.a. wegen loose coupling). |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 09.01.2014, 21:58 Titel: |
|
|
Meinst du mit "Signal/Slot-System" sowas wie das von Qt? Falls ja, sehe ich da nämlich kein Problem. Man kann auch für FB ein paar Macros definieren und den Code durch eine Art Pre-Compiler jagen (so hatte Stueber damals auch Templates für FB implementiert). Viel mehr macht Qt auch nicht. |
|
Nach oben |
|
 |
|