Beiträge: 1
Themen: 1
Registriert seit: Apr 2014
Bewertung:
0
Hallo AMIBLITZ- Gemeinde!
Hab mich mal entschlossen ein bisschen was mit AB3 zu coden. Unter Windows oder Linux benutze ich meistens PureBasic, hab aber festgestellt, das in AB3 und PB einiges fast gleich ist.
Gibt es für AB3 ein GUI Tutorial?
Wo finde ich eine Beschreibung der Window und Gadget Events?
Gibt es in AB3 so etwas wie Threads?
Das ganze in deutsch wäre natürlich perfekt.
Beiträge: 396
Themen: 8
Registriert seit: Sep 2013
Bewertung:
0
Hallo sys49152,
Willkommen!
Ab3 und PB sind schon verschiedene. PB fing als BlitzLib für BlitzBasic2 an, hat sich aber vor 15-20(!) Jahren abgespalten.
> Gibt es für AB3 ein GUI Tutorial?
Gibt es nicht wirklich.
Als erstes musst du dich entscheiden, welches GUI system du nutzen willst. Alles weitere hängt dann davon ab.
Du kannst natürlich alle exisitierenden GUI systeme für den Amiga nutzen, aber wenn es komfortabler als C sein soll dann gibt es Support für:
- Gadgets (OS1.x)
- GadTools (OS2.x)
- MUI3.8
- StormWizard
- TUI
- NTUI
Gadgets
Kommen als BlitzLib (Gadgetslib). Relativ simpel, aber kaum features, alles muss händisch implementiert werden (sieht auch arm aus...)
Würde ich abraten, wenn es nicht unbedingt 1.x komatibel sein muss.
GadTools
Ähnlich wie Gadgets, ein wenig mehr Features, aber auch sehr spartanisch. Würde ich auch nicht nehmen.
MUI
Schon eher. Einfache GUIs lassen sich leicht erstellen. Wenn es komplexer wird kommt man allerdings ins Schwitzen, weil die MuiLib nicht alles kann, d.h. man muss dann muimaster.library direkt nutzen.
Populäre Programme z.B. IBrowse, YAM.
StormWizard
Kann man ganz passable GUIs mit machen. Die integration in AB3 ist ganz gut, PED z.B. nutzt StormWizard. Andere populäre Programme sind z.B. ArtEffects, C-Storm.
TUI
Soll nicht ganz verschwiegen werden, da von mir ;-) Entwicklung ist eingestellt, und ich rate jedem davon ab es zu nutzen. Docu gibt es keine.
Man kann aber ganz respektable GUIs damit bauen. Populäre Programme sind z.B. HD-Rec, TuiTED, PosTED.
NTUI
Nachfolger von TUI. Vorteil: ist noch in Entwicklung, und ich beantworte Fragen dazu. Nachteil: Es gibt (noch) keine Doku.
Ich denke genauso mächtig wie MUI, aber GUIs leichter erstellbar da sie in XML definiert werden.
Unveröffentlichte Beispiele AIDE, MacroWave.
> Wo finde ich eine Beschreibung der Window und Gadget Events?
Window und Gadget Events:
Docu zu allen BlitzLibs ist in der Distro. Erreichbar über den Instruction Browser, oder im Source einfach mal "Window" oder "Event" tippen und SHFIT+HELP drücken. Wenn du dich mit Window+Events auseinandersetzten willst, dann wirst du Gadgets oder GadTools nutzen müssen.
> Gibt es in AB3 so etwas wie Threads?
Nein, AB3 kennt keine Threads. Multithreaded kann man nur eingeschränkt programmieren indem man OS Funktionen nutzt wie z.B. "CreateProcess". Es gibt aber sehr starke Einschränkungen was man im Neben-Thread tun darf und was nicht. Grundsätzlich darf man keine BlitzBlibs oder High-Level Funktionalität von AB3 nutzen, die Globale Resourcen (und daher nicht Threadsafe sind) benutzt, was praktisch ALLE sind.
D.h. keine BlitzLibs, Debugger aus, keine Strings oder Newtypes und das Register A5 muss als erstes initialisiert werden, da es den Basic Kontext enthält. Alles in allem nur was für Experten.
Ich nutze das z.B. in Sweeper, MacroWave oder AIDE, aber nur wenn es unbedingt sein muss.
> Das ganze in deutsch wäre natürlich perfekt.
Entwickler Docu's sind 99% auf Englisch.
Lass uns wissen was du vorhast, dann bekommst du bessere Tipps.
Beiträge: 291
Themen: 53
Registriert seit: Sep 2013
Bewertung:
7
ReAction Classes (3.x+) sollte (bei entsprechender Anstrengung) auch funktionieren, oder?
Wie schon gesagt, wenn man weiß, was daraus werden soll, kann man besser helfen. Ich mache alles mit GadTools, allerdings mit eigener GUI-Engine. Das ist schon ziemlich nahe an ReAction, nur, daß ich keine Classsen brauche, da ich nicht OOP kann. ;-) Dafür sind dann aber auch keine externen Bibliotheken nötig...