{"id":55000310,"date":"2022-04-01T00:00:00","date_gmt":"2024-01-26T10:43:15","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=310"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"twinBASIC_Visual_Basic_fuer_die_Zukunft","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/twinBASIC_Visual_Basic_fuer_die_Zukunft\/","title":{"rendered":"twinBASIC: Visual Basic f&uuml;r die Zukunft"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/7dfc50111cfa4ca7a23563fb73b0b01b\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>twinBASIC ist eine moderne Version des klassischen Visual Basic, die auf 100% Kompatibilit&auml;t zu bestehenden Visual Basic 6-Projekten ausgelegt sein wird. Es ist ein Projekt des englischen Programmierers Wayne Phillips, der bereits im Access-Umfeld mit spektakul&auml;ren L&ouml;sungen auf sich aufmerksam gemacht hat. twinBASIC scheint jedoch sein Meisterwerk zu werden. Es kommt mit einer eigenen Entwicklungsumgebung, die sich nicht vor anderen modernen IDEs verstecken muss. In diesem Artikel schauen wir uns an, wie Du die twinBASIC-Entwicklungsumgebung installierst und die ersten Projekte damit erstellst. In weiteren Artikeln werfen wir einen Blick auf die verschiedenen Projekttypen und wie Du L&ouml;sungen damit erstellen kannst.<\/b><\/p>\n<h2>M&ouml;glichkeiten von twinBASIC<\/h2>\n<p>twinBASIC schickt sich an, ein vollst&auml;ndiger Ersatz f&uuml;r Visual Basic 6 zu werden &#8211; und dieses auf eine moderne Ebene zu heben. Einer der wichtigsten Faktoren, warum Visual Basic 6 nicht mehr genutzt wurde, ist die Einschr&auml;nkung auf 32-Bit. twinBASIC bietet auch die M&ouml;glichkeit, beispielsweise DLLs, COM-Add-Ins und mehr in einer 64-Bit-Version zu erstellen.<\/p>\n<p>Mittlerweile kann twinBASIC nicht nur reine Konsolenprojekte beziehungsweise DLLs und COM-Add-Ins, sondern auch solche mit Benutzeroberfl&auml;che erstellen.<\/p>\n<p>Geplant ist auch eine vollst&auml;ndige Kompatibilit&auml;t mit Visual Basic 6, das hei&szlig;t, dass Du Deine alten Visual Basic 6-Projekte hervorholen und modernisieren kannst.<\/p>\n<h2>Welche Editionen bietet twinBASIC?<\/h2>\n<p>Zum Zeitpunkt der Erstellung dieses Artikels gibt es eine Community Edition, eine Professional Edition und eine Ultimate Edition. Die Community Edition bietet alle wichtigen Funktionen und erlaubt die kommerzielle Nutzung der damit erstellten Projekte.<\/p>\n<p>Einschr&auml;nkungen sind eine nicht optimierte Kompilierung sowie die Anzeige von Splash-Screens bei Projekten auf Basis von 64-Bit. Diese Edition ist komplett kostenlos &#8211; es lohnt sich also, diese auszuprobieren.<\/p>\n<p>Die Professional Edition erlaubt das Kompilieren f&uuml;r 64-Bit ohne Anzeige von Splash-Screens in den damit erstellten Projekten. Au&szlig;erdem erh&auml;lt man Zugriff auf Betaversionen. Die Jahreslizenz kostet regul&auml;r 420 EUR, ist aber aktuell zum Vorbesteller-Rabatt f&uuml;r 248,80 EUR erh&auml;ltlich (alle Preise zuz&uuml;glich MwSt.).<\/p>\n<p>Die Ultimate Edition liefert zus&auml;tzlich &#8211; und das ist wirklich revolution&auml;r &#8211; Cross-Plattform-Kompatibilit&auml;t, man kann also Projekte f&uuml;r die Nutzung unter Linux, Mac OS oder Android erstellen. Dieses Feature ist allerdings noch nicht verf&uuml;gbar. Den reduzierten Jahrespreis kann man sich dennoch jetzt schon sichern. Die Jahreslizenz kostet regul&auml;r 756 EUR und kann aktuell zum Vorbesteller-Tarif f&uuml;r 486 EUR bestellt werden (alle Preis zuz&uuml;glich MwSt.).<\/p>\n<p>Die M&ouml;glichkeit zur Bestellung findest Du in unserem Shop unter <b>https:\/\/shop.minhorst.com<\/b>. Dort wechselst Du einfach zur Kategorie Access-Tools und findest die M&ouml;glichkeit zur Bestellung einer Jahreslizenz. Und noch ein Hinweis: Aktuell gibt es keine Angabe seitens des Herstellers, wie lange die Vorbestellung noch m&ouml;glich und damit der reduzierte Preis noch g&uuml;ltig  ist. Der Hersteller sichert den Vorbestellerpreis jedoch auch f&uuml;r die Verl&auml;ngerung der Lizenz &uuml;ber das erste Jahr hinaus zu!<\/p>\n<h2>twinBASIC herunterladen<\/h2>\n<p>Den Download der Entwicklungsumgebung von twinBASIC findest Du aktuell in github.com. Da die Entwicklungsumgebung noch im Betastatus ist, werden regelm&auml;&szlig;ig neue Versionen ver&ouml;ffentlicht.<\/p>\n<p>Diese gibt Wayne Phillips unter folgendem Link bekannt:<\/p>\n<pre>https:\/\/github.com\/WaynePhillipsEA\/twinbasic\/releases<\/pre>\n<p>Hier w&auml;hlen wir einfach den obersten Eintrag aus &#8211; zum Zeitpunkt der Erstellung dieses Artikels beispielsweise Version Beta 79 (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_001.png\" alt=\"Download von twinBASIC in der jeweils aktuellen Version\" width=\"700\" height=\"512,6953\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Download von twinBASIC in der jeweils aktuellen Version<\/span><\/b><\/p>\n<h2>twinBASIC starten<\/h2>\n<p>Nach dem Download der knapp 10 MB gro&szlig;en <b>.zip<\/b>-Datei extrahiert man den kompletten Inhalt in das gew&uuml;nschte Verzeichnis und startet <b>twinBASIC <\/b>einfach durch einen Doppelklick auf die enthaltene Datei <b>twinBASIC.exe<\/b>. Das hei&szlig;t, Du brauchst noch nicht einmal eine Installation durchzuf&uuml;hren!<\/p>\n<h2>Optionen einstellen<\/h2>\n<p>Beim ersten Start erscheint der Dialog <b>twinBASIC: IDE options<\/b>, mit dem Du die gew&uuml;nschten Einstellungen vornehmen kannst. Wichtig ist hier zum Beispiel, ob Du Anwendungen im 32-Bit- oder 64-Bit-Modus erstellen m&ouml;chtest. Die &uuml;brigen Optionen sind weitgehend selbsterkl&auml;rend (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_002.png\" alt=\"Einstellen der Optionen beim Starten\" width=\"524,6265\" height=\"537,467\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Einstellen der Optionen beim Starten<\/span><\/b><\/p>\n<h2>Projekte neu anlegen oder &ouml;ffnen<\/h2>\n<p>Nach dem Einstellen und dem Speichern der Optionen folgt der eigentliche Startbildschirm (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_003.png\" alt=\"Vorlagen f&uuml;r Projekte\" width=\"524,6265\" height=\"510,3705\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Vorlagen f&uuml;r Projekte<\/span><\/b><\/p>\n<p>Hier kannst Du zwischen den folgenden Projekttypen w&auml;hlen, um ein neues Projekt anzulegen:<\/p>\n<ul>\n<li>Standard EXE<\/li>\n<li>ActiveX Control<\/li>\n<li>ActiveX DLL<\/li>\n<li>Standard DLL (non-ActiveX)<\/li>\n<\/ul>\n<p>Au&szlig;erdem kann man bestehende Projekte importieren:<\/p>\n<ul>\n<li>Import from VBP<\/li>\n<li>Import from Folder<\/li>\n<\/ul>\n<h2>Fertige Beispielprojekte<\/h2>\n<p>F&uuml;r den ersten Eindruck noch interessanter sind jedoch die Beispielprojekte, die wir unter dem Registerreiter <b>Samples <\/b>finden (siehe Bild 4). Diese schauen wir uns im Anschluss im Detail an, um einen Eindruck von der Leistungsf&auml;higkeit von <b>twinBASIC <\/b>zu vermitteln.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_004.png\" alt=\"Beispielprojekte\" width=\"499,6267\" height=\"487,8174\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Beispielprojekte<\/span><\/b><\/p>\n<h2>Beispielprojekt &ouml;ffnen<\/h2>\n<p>Zum &Ouml;ffnen eines der Beispielprojekte klickst Du einfach doppelt auf das jeweilige Projekt. In diesem Fall schauen wir uns das Projekt <b>Sample 0. WebView2 Examples <\/b>an. Dies &ouml;ffnet das Projekt in der Entwicklungsumgebung von <b>twinBASIC<\/b> (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_005.png\" alt=\"Die twinBASIC-Entwicklungsumgebung mit einem ge&ouml;ffneten Beispielprojekt\" width=\"700\" height=\"446,4127\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Die twinBASIC-Entwicklungsumgebung mit einem ge&ouml;ffneten Beispielprojekt<\/span><\/b><\/p>\n<h2>Beispielprojekt starten<\/h2>\n<p>F&uuml;r einen kleinen Ausblick, was wir mit <b>twinBASIC <\/b>alles erledigen k&ouml;nnen, klicken wir einfach einmal auf die Starten-Schaltfl&auml;che in der oberen Men&uuml;leiste der <b>twinBASIC<\/b>-Entwicklungsumgebung. Daraufhin erscheint direkt das Startmen&uuml; der Anwendung (siehe Bild 6). <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_006.png\" alt=\"Startmen&uuml; einer twinBASIC-Beispielapp\" width=\"324,6267\" height=\"399,8714\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Startmen&uuml; einer twinBASIC-Beispielapp<\/span><\/b><\/p>\n<p>Klicken wir hier auf den ersten Eintrag, &ouml;ffnet die Anwendung ein weiteres Fenster, in dem wir das neue <b>WebView2<\/b>-Steuerelement ausprobieren k&ouml;nnen (siehe Bild 7). Au&szlig;erdem zeigt Wayne Phillips mit diesem Beispiel, wie wir jede Menge interne Informationen zum Ablauf beim Browsen im Internet abgreifen und anzeigen k&ouml;nnen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_007.png\" alt=\"Webbrowser-Steuerelement in einer twinBASIC-Anwendung\" width=\"649,627\" height=\"471,4249\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Webbrowser-Steuerelement in einer twinBASIC-Anwendung<\/span><\/b><\/p>\n<h2>Anwendung erstellen<\/h2>\n<p>Nun wollen wir diese Anwendung noch erstellen. Dazu beenden wir den Debugging-Vorgang und klicken in der oberen Leiste auf die Schaltfl&auml;che <b>Build <\/b>(siehe Bild 8). Damit erstellen wir nach dem Speichern des Projekts eine <b>.exe<\/b>-Datei, die wir so direkt weitergeben k&ouml;nnen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_008.png\" alt=\"Erstellen einer twinBASIC-Anwendung\" width=\"700\" height=\"123,8606\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Erstellen einer twinBASIC-Anwendung<\/span><\/b><\/p>\n<h2>Was k&ouml;nnen wir mit twinBASIC machen?<\/h2>\n<p>Nun stellt sich die Frage, was wir im Rahmen dieses Magazins mit <b>twinBASIC <\/b>alles machen k&ouml;nnen. Die erste Antwort ist: Alles, was wir uns w&uuml;nschen! twinBASIC bietet alle M&ouml;glichkeiten, um die folgenden interessanten Aufgaben zu erledigen:<\/p>\n<ul>\n<li>Erstellen selbstst&auml;ndiger <b>.exe<\/b>-Anwendungen ohne Benutzeroberfl&auml;che, zum Beispiel als  Startup-Anwendung vor dem &Ouml;ffnen einer Access-Anwendung, die pr&uuml;ft, ob die Access-Datenbank bereits ge&ouml;ffnet ist, ob es eine neue Version gibt oder ob die Verkn&uuml;pfungen aktuell sind.<\/li>\n<li>Erstellen selbstst&auml;ndiger <b>.exe<\/b>-Anwendungen mit Benutzeroberfl&auml;che. Wenn wir irgendwelche Aufgaben automatisieren wollen oder uns einfach eine Benutzeroberfl&auml;che f&uuml;r eine Aufgabe schaffen wollen, k&ouml;nnen wir die M&ouml;glichkeiten zum Erstellen von Anwendungen wie die zuvor vorgestellte nutzen.<\/li>\n<li>Erstellen von DLL-Bibliotheken, die oft verwendete Funktionen enthalten und die beispielsweise in die VBA-Projekte von Access-Datenbanken eingebunden werden oder die wir auch von anderen VBA-Projekten wie unter Outlook, Word, Excel und Co. nutzen k&ouml;nnen.<\/li>\n<li>Erstellen von COM-Add-Ins, die wir in die Office-Anwendungen Access, Excel, Outlook, Word et cetera einbinden k&ouml;nnen, beispielsweise um diese um selbst programmierte Funktionen zu erweitern. Diese k&ouml;nnen dann beispielsweise &uuml;ber benutzerdefinierte Steuerelemente im Ribbon oder in Kontextmen&uuml;s aufgerufen werden.<\/li>\n<li>Und wir k&ouml;nnen damit auch COM-Add-Ins f&uuml;r den VBA-Editor entwickeln, mit denen wir die dortigen Funktionen erweitern. Auch diese k&ouml;nnen wir &uuml;ber das dort verwendete Men&uuml;system bereitstellen.<\/li>\n<\/ul>\n<p>Du siehst: Schon wenn wir uns die Ansatzpunkte f&uuml;r m&ouml;gliche Anwendungen ansehen, finden wir eine Menge Optionen. In weiteren Artikeln in diesem Magazin werden wir uns die verschiedenen Optionen ansehen und Beispielanwendungen f&uuml;r die unterschiedlichen Einsatzgebiete und Zielanwendungen entwickeln.<\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Dieser Artikel hat einen ersten Einblick in die M&ouml;glichkeiten von twinBASIC geliefert. Damit kannst Du die Community Edition schon einmal herunterladen und ausprobieren &#8211; Beispielprojekte zum Ausprobieren gibt es genug (siehe Bild 9), und mit der Community Edition kannst Du alle M&ouml;glichkeiten von twinBASIC ausprobieren.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2022_02\/pic_310_009.png\" alt=\"Anlegen des HelloWorld-Beispiels\" width=\"524,6265\" height=\"510,3705\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Anlegen des HelloWorld-Beispiels<\/span><\/b><\/p>\n<p>In weiteren Artikeln werden wir uns die Programmiersprache <b>twinBASIC<\/b> und die mitgelieferte Entwicklungsumgebung im Detail ansehen.<\/p>\n<p>Dort werden wir uns dann um die verschiedenen Projekttypen k&uuml;mmern, Beispielanwendungen f&uuml;r COM-Add-Ins und DLLs liefern und die Gemeinsamkeiten und Unterschiede von twinBASIC zu Visual Basic 6 ermitteln.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>twinBASIC ist eine moderne Version des klassischen Visual Basic, die auf 100% Kompatibilit&auml;t zu bestehenden Visual Basic 6-Projekten ausgelegt sein soll. Es ist ein Projekt des englischen Programmierers Wayne Phillips, der bereits im Access-Umfeld mit spektakul&auml;ren L&ouml;sungen auf sich aufmerksam gemacht hat. twinBASIC scheint jedoch sein Meisterwerk zu werden. Es kommt mit einer eigenen Entwicklungsumgebung, die sich nicht vor anderen modernen IDEs verstecken muss. In diesem Artikel schauen wir uns an, wie Du die twinBASIC-Entwicklungsumgebung installierst und die ersten Projekte damit erstellst. In weiteren Artikeln werfen wir einen Blick auf die verschiedenen Projekttypen und wie Du L&ouml;sungen damit erstellen kannst.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022022,662022,44000036,44000031],"tags":[],"yst_prominent_words":[],"class_list":["post-55000310","post","type-post","status-publish","format-standard","hentry","category-66022022","category-662022","category-Ribbon_programmieren","category-twinBASICProgrammierung"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000310"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000310\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000310"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}