amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > AmiBlitz will nicht, welche alternative ist die Beste ? [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 -2- 3 4 5 6 [ - Beitrag schreiben - ]

25.09.2008, 20:04 Uhr

Blackbird
Posts: 634
Nutzer
@bernd_roesch:

Das mit dem starten ist mir auch schon aufgefallen...

weiterhin kann es zu Problemen kommen wenn man mehrere Sourcen offen hat, dann "vergisst" AB3 schonmal die Settings (z.B Debugger on)...


--
regards
Blackbird

Have a look at:
http://www.blackbird-net.de

Skins for PlayCD OS3.9
BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint

[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 20:09 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Yo, steht ja alles im Bugtracker.
Der Startup dauert deshalb länger u.a., weil die Online Hilfe für Includes drin ist und beim Start eingelesen wird. Da könnte man etwas beim Parsen der Textdatei optimieren. Unter WinUAE dauert das aber nicht wirklich lange. Es ist halt nur nicht mehr ganz "sofort".

--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 20:45 Uhr

Blackbird
Posts: 634
Nutzer
@Der_Wanderer:

Zitat:
Unter WinUAE dauert das aber nicht wirklich lange.

scheinbar schon, sonst wäre es Bernd nicht aufgefallen ;)

Ansonsten muß ich sagen das AB3 einiges an "Mehrwert" mitbringt als AB2, aber speedmäßig (beim starten) wirklich sehr langsam wurde...

Du solltest mal deinen Original Amiga wieder rauskramen und da schauen wie sich AB3 so verhält...
--
regards
Blackbird

Have a look at:
http://www.blackbird-net.de

Skins for PlayCD OS3.9
BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint

[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 21:26 Uhr

Honitos
Posts: 200
Nutzer
@Blackbird:
Der Systemstart dauert nun solange,
weil zu Beginn zunächst ein Konsistenzcheck der Libs läuft.
Es wird also auf "libclashes" geprüft. Ausserdem wird er Helpindex aufgebaut, wie Thilo schon gesagt hat.

Wenn der Enforcer und Wipeout an ist, dann dauert das in der Tat um den Faktor 10 oder 20 länger. Vielleicht ist das ein CPU-Cache-Geschichte, keine Ahnung.

@DieterG:
Tut mir leid, das kann ich leider nicht recht nachvollziehen.
Gib doch mal in einem Texteditor blind eine Zeile Code ein und übersetze das mit gcc oder vbcc.
Klappt das dann ?? Hast Du mittlerweile makefiles erstellt oder die ganzen Optionen der Compiler studiert ? Wo gibt es denn was Besseres als die AB3-Onlinehilfe zu finden ?

Ich finde einige Aussagen einfach unpassend:
Wenn ich in C eintippe: ahi_Playsound(1,"ram:test.mp3"), dann hagelt es Fehlermeldungen ->> "aber was soll an solch einer einfachen Zeile schon falsch sein ??"

Was für ein Projekt willst Du denn machen, für das Du keine Zeit hast ?

Nichts für ungut,
Sven

[ Dieser Beitrag wurde von Honitos am 25.09.2008 um 21:27 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 22:28 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von Honitos:

@DieterG:
Tut mir leid, das kann ich leider nicht recht nachvollziehen.
Gib doch mal in einem Texteditor blind eine Zeile Code ein und übersetze das mit gcc oder vbcc.
Klappt das dann ?? Hast Du mittlerweile makefiles erstellt oder die ganzen Optionen der Compiler studiert ? Wo gibt es denn was Besseres als die AB3-Onlinehilfe zu finden ?

Ich finde einige Aussagen einfach unpassend:
Wenn ich in C eintippe: ahi_Playsound(1,"ram:test.mp3"), dann hagelt es Fehlermeldungen ->> "aber was soll an solch einer einfachen Zeile schon falsch sein ??"

Habe ich nie gesagt.
Und die onlinehilfe, naja, zumindest besser als das risige guide, wo man die kommandos nach kategorien suchen muss, aber die Aussagekraft ist doch recht seltsam. Nungut, will es ja nicht schlechter reden als es ist, es ist schon eine hilfe, allerdings zeigt sie seltsame sachen in diesen parameterfenstern an.
Nimm mal einen der Examples oder Demos (wieso es da alle Beispiele doppelt gibt ist auch nicht erklärbar oder ist das einmal in deutsch einmal in english ?) und probiere mal was du angezeigt bekommst, das verwirrt einen AB-Anfänger ja mehr als es hilft. Mir ist es bisher z.B. nicht gelungen, eine library zu öffnen (obwohl diese laut snoopy geöffnet wird), also habe ich in den Beispielen nach was ähnlichem gesucht, allerdings erfolglos. Das enzige was sich findet ist irgendo mal ein "opendevice_", wo die parameter aber in klammern stehen, gebe ic das so en, kommt vom parser eien fehlermeldung, als was sagt die kurzhilfe beim opendevice dann aus, der erste parameter wird die erste klamer entfernt, am letzten parameter bleibt sie dran, ob nun mit oder ohne richtig ist, kann man nur raten. Aber das ist nur ein Beispiel.
Also, ich denke ein openlibrary_ müsste ungefähr so aussehen:
"mybase.l = OpenLibrary_ "mylibrary.library",7 ;mindestens version 7"
Wenn ich nach de OpenDevice-Beispiel gehe so:
"OpenLibrary_ ("mylibrary.library",7) = mybase ;mindestens version 7"

nur der erste fall öffnet die library, der zweite meldet fehler, wieso das bei opendevice und openlibrary so unterschiedlich sein soll, versteh ich dann wieder nicht. Aber wie gesagt, die variable bleibt auf jeden Fall 0
und sonit sind beide varianten (alos auch das aus dem Beispiel wahrscheinlich falsch. Eine bessere Hilfe oder wietere Beispiele zu openlibrary_ habe ich noch nicht gefunden.
Allerdings habe ich mir das "Hauptguide" (oder so ähnlich) mal angesehen, da ist doch einiges gut beschreiben, wenn man dann die befehle irgendwo wieder findet, da wäre ein index nicht schlecht.

Zitat:
Was für ein Projekt willst Du denn machen, für das Du keine Zeit hast ?
Das project habe ich ja schon, ich will da nur teilbereiche einfach testen, z.B. ob bestimmte libraryfunctionen das tuen, was sie sollen.
Zitat:
Nichts für ungut,
Sven

[ Dieser Beitrag wurde von Honitos am 25.09.2008 um 21:27 Uhr geändert. ]



[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 23:38 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Ähem. Du hast da einiges missverstanden bzw. im Handbuch die Grundlagen nicht gelesen.

Also grundsätzlich gilt: möchtest du einen Rückgabe Wert haben, stehen die Parameter in Klammern. Möchtest du keinen haben, stehen die Parameter ohne Klammer da. Das kommt noch von BlitzBasic Zeiten.

Also wäre richtig:

*mylib.Library = OpenLibrary_("mylib.library",7)

und

If OpenDevice_ ("timer.device",#UNIT_MICROHZ,msg,0) = False
...

aber

OpenDevice_ "timer.device",#UNIT_MICROHZ,msg,0

wobei letzeres kein guter Stil ist, da man den Rückgabewert checken sollte.

Die Befehle mit "_" am Ende kommen von Libraires die auf BlitzBasic-Weg eingebunden wurden.

Das es kein Beispiel gibt, wie man eine Library öffnet, liegt daran dass Basic Progger selten Libraries öffnen. Das übernimmt normalerweise Basic.
Wenn du aber dennoch den OS Aufruf OpenLibrary benutzen willst, dann musst du im RKM nachgucken wie das geht. Dort kommt du netterweise per SHIFT+HELP über OpenLibrary direkt hin oder durch Doppelklick im Instruction Browser.
Wie das in Amiblitz syntaktisch umgesetzt wird ist Grundlage. Man kann ja nicht für jede OS Funktion ein Beispiel coden. Als Nachschlagewerk dient da das RKM, was in der Amiblitz3 Online Hilfe (Syntax+Autodocs) integriert ist.

Wenn du meinen Rat angenommen hättest und FD2Include benutzt hättest, hättest du auch sofort gesehen wie man eine Library in Amiblitz3 einbindet ohne eine Blitzlib daraus zu generieren (also das, was du scheinbar vor hast). Aber du wolltest es ja selbst machen.

--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ Dieser Beitrag wurde von Der_Wanderer am 26.09.2008 um 00:10 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 23:43 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Deine Aussgaen sind total widersprüchlich.
Erst schreibst du

> Und die onlinehilfe, naja, zumindest besser als das risige guide, wo man die kommandos nach kategorien suchen muss,

und danach beklagst du dich, dass es keinen Index gibt.

Lass dir gesagt sein: Es gibt beides.

Wenn du den Instruction-Browser aufrufst, und z.B. "Library" eingibst, dann bekommst du alle Befehle und Include-Functionen in denen was mit "Library" vorkommt, also auch OpenLibrary_().
Du kannst also gezielt nach Befehlen suchen, wo du eine Idee hast wie sie heissen könnten oder es vielleicht schon weisst. Per doppelklick springst du dann in den "riessigen" Guide, aber genau dahin wo du willst. Wenn du dort auf "Index" gehst, dann siehst du alle Befehle in derselben Bibliothek, die also verwandt sind.

Optional kannst du auch über "Help" im Menu in den riessigen Guide springen, und dich durchhangeln.



--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 23:46 Uhr

Der_Wanderer
Posts: 1229
Nutzer
> wieso es da alle Beispiele doppelt gibt ist auch nicht erklärbar
> oder ist das einmal in deutsch einmal in english ?
Welches Beispiel gibt es denn doppelt?
Oder denkst du es ist doppelt weil es eine .bb2 und eine .xtra Datei gibt?
Sowas, in C ist auch alles doppelt, so was blödes, mal als .c und mal als .h ... vielleicht Tschchisch und einmal Spanish?




--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

25.09.2008, 23:59 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Also wenn ich deinen letzen Kommentar lese breche ich fast zusammen, sorry.
Bei sowas

"OpenLibrary_ ("mylibrary.library",7) = mybase ;mindestens version 7"

...kneift es einem ja die Eier zusammen. Das würde in jeder Sprache gründlich daneben gehen. Einem Ausdruck kann man keinen Wert zuweisen.
Bei dem Device Code steht ein "If" davor, dadurch hat das eine völlig andere Bedeutung, weil es keine Zuweisung sondern ein boolscher Ausdruck wird. C hat dafür sogar verschiedene Operatoren Symbole, einmal "=" und einmal "==".
Und wenn es nichtmal kompiliert, wie kommst du zu der Aussage dass die Variable 0 bleibt?

Aber eins fällt mir dabei auf, die Fehlermeldungen des Compilers von Amiblitz3 könnten etwas detailierter und aussagekräftiger sein.
Das habe ich gemerkt wie hilfreich das ist als ich den MonkeyScript Compiler implementiert habe.
Da wäre die Fehlermeldung "Can't assing expression.".






--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 00:56 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Der_Wanderer:
> wieso es da alle Beispiele doppelt gibt ist auch nicht erklärbar
> oder ist das einmal in deutsch einmal in english ?
Welches Beispiel gibt es denn doppelt?
Oder denkst du es ist doppelt weil es eine .bb2 und eine .xtra Datei gibt?
Sowas, in C ist auch alles doppelt, so was blödes, mal als .c und mal als .h ... vielleicht Tschchisch und einmal Spanish?


Mal davon ab, daß Du mit seinem Sprachverständnis durchaus Recht hast: Für welche der Compilerbibliotheken hast Du .c-Dateien, die Du mit einbinden kannst/mußt? ;)

Du solltest bei Deinen Plädoyers für AB nie vergessen, daß Du ein Profi darin bist. Für Anfänger oder an herkömmliches BASIC Gewohnte ist und bleibt AB weiter ziemlich verwirrend, weil es in seiner Definition nicht konsistent ist. Es ist BASIC und C bunt gemischt bzw. nichts davon richtig. Weder richtig BASIC noch richtig C. Vielleicht irgendwas dazwischen, was seiner Nützlichkeit aber durchaus keinen Abbruch tut, wenn man es erst einmal verstanden hat. Nur das Verstehen, das ist nicht immer ganz so einfach. Zeigt sich hier einmal mehr.

Weswegen es bei ihm allerdings so rumzickt verstehe ich auch nicht so ganz, auf meinem WinUAE-System (OS3.9 ohne irgendwelche Spezialitäten) läuft es, wie schon erwähnt, eigentlich sehr gut (hier und da kleine Glitches in den Beispielen/Includes, aber es friert nichts ein oder stürzt ab, und selbst der Startup ist wirklich erträglich. Das Bernd über die Geschwindigkeit meckert ist doch normal, er hat ja nie für nix Zeit ;) ). Auch die Installation war diesmal wirklich problemlos, genau wie von Dir beschrieben: Irgendwohin entpacken und starten, fertig.

Von früheren Versionen kenne ich solchen Ärger wie von Dieter beschrieben auch, aber die aktuelle Version tut ihren Dienst sehr gut und Deine Includes sind schon eine Fundgrube, sofern man AB ein klein wenig versteht.
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 10:19 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von Der_Wanderer:
> wieso es da alle Beispiele doppelt gibt ist auch nicht erklärbar
> oder ist das einmal in deutsch einmal in english ?
Welches Beispiel gibt es denn doppelt?
Oder denkst du es ist doppelt weil es eine .bb2 und eine .xtra Datei gibt?
Sowas, in C ist auch alles doppelt, so was blödes, mal als .c und mal als .h ... vielleicht Tschchisch und einmal Spanish?

Bleib mal auf dem Boden, ich habe nie behauptet, AB zubeherschen, für mich ist das alles verwirrend, gerade da ich auch nie richtig mit C gerbeitet habe.
Nach der installation habe ich im verzeichnis Sourcecodes 2 unterverzeichnisse, eines heisst Examples, und eines heisst demos, in diesen beiden ordnern sind die selben Dateinamen enthalten MIT DENSELBEN ENDUNGEN ! Nun war meine vermutung, das eventuell die Demos deutsche Beispiele und die Examples englische sind. Ich habe sie mir aber nicht alle angeguckt !
Hier wäre dann (wenn es denn so ist) eine klare benennung "examples_english" "Beispiele_deutsch" eventeull besser.War aber nur ein Rat von mir, also geh nicht gleich auf die Palme.
Zitat:
--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 10:23 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von Der_Wanderer:
Also wenn ich deinen letzen Kommentar lese breche ich fast zusammen, sorry.
Bei sowas

"OpenLibrary_ ("mylibrary.library",7) = mybase ;mindestens version 7"

...kneift es einem ja die Eier zusammen. Das würde in jeder Sprache gründlich daneben gehen. Einem Ausdruck kann man keinen Wert zuweisen.
Bei dem Device Code steht ein "If" davor, dadurch hat das eine völlig andere Bedeutung, weil es keine Zuweisung sondern ein boolscher Ausdruck wird. C hat dafür sogar verschiedene Operatoren Symbole, einmal "=" und einmal "==".
Und wenn es nichtmal kompiliert, wie kommst du zu der Aussage dass die Variable 0 bleibt?

Diese form hat mich ja auch gewundert, aber das war ja auch nur ein abgeleitetes Besipiel, das dieses nicht geht, und auch nicht gehen kann ist mir schon klar, nur eben das einzigset ähnliche Beispiel mal direkt abgeleitet. Netürlciuh meldet der compiler fehler, und man kann das garnicht comilieren, und ich hätte es auch nicht so gemacht.
Zitat:
Aber eins fällt mir dabei auf, die Fehlermeldungen des Compilers von Amiblitz3 könnten etwas detailierter und aussagekräftiger sein.
Das habe ich gemerkt wie hilfreich das ist als ich den MonkeyScript Compiler implementiert habe.
Da wäre die Fehlermeldung "Can't assing expression.".






--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 10:31 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von Der_Wanderer:
Ähem. Du hast da einiges missverstanden bzw. im Handbuch die Grundlagen nicht gelesen.

Also grundsätzlich gilt: möchtest du einen Rückgabe Wert haben, stehen die Parameter in Klammern. Möchtest du keinen haben, stehen die Parameter ohne Klammer da. Das kommt noch von BlitzBasic Zeiten.

Also wäre richtig:

*mylib.Library = OpenLibrary_("mylib.library",7)

und was sagt deine schnellhilfe dazu etwa auch version "7)" ?
Also öffnen kannst du so die library nicht, ohne klammern wird sie wenigstens geöffnet, aber es kommt immer null zurück.
Für mich als AB-starter sind wieder die gleichen unmöglichkeiten wie in C zu sehen. Wieso interessiert es den kompiler, welche art von wert meine variable enthält. Solange sie groß genug ist, um meinen wert aufzunehmen ?
Also ich hatte schon mal ein bischen mit dem wert hinter dem punkt probiert, aber im prinzip soillte ein .l reichen, weil in diesem der Wert auf jeden fall reinpasst, das man es "spezieller" definieren könnte, mittels .library oder .base oder .pointer oder was auch immer interessiert micht eigentlich nur sekundär. Und du vergisst, das ich immer nur etwa 1-2 minuten zum arbeiten habe, bevor AB3 wieder hängt.

Zitat:
und

If OpenDevice_ ("timer.device",#UNIT_MICROHZ,msg,0) = False
...

aber

OpenDevice_ "timer.device",#UNIT_MICROHZ,msg,0

wobei letzeres kein guter Stil ist, da man den Rückgabewert checken sollte.

Die Befehle mit "_" am Ende kommen von Libraires die auf BlitzBasic-Weg eingebunden wurden.

Das es kein Beispiel gibt, wie man eine Library öffnet, liegt daran dass Basic Progger selten Libraries öffnen. Das übernimmt normalerweise Basic.

Du erzählst dich immer, das AB kein reines Basic ist, sondern auch ASM und C teile drin sind, also gehört ein solches Beispiel eher dazu als 30 Beispiele wie ich grafiken lade/konvertiere/handle/speichere und sonstwas mit tue. Allein die ganzen dbl_ beispeile irretieren mehr, als das sie helfen.

Zitat:
Wenn du aber dennoch den OS Aufruf OpenLibrary benutzen willst, dann musst du im RKM nachgucken wie das geht. Dort kommt du netterweise per SHIFT+HELP über OpenLibrary direkt hin oder durch Doppelklick im Instruction Browser.
Wie das in Amiblitz syntaktisch umgesetzt wird ist Grundlage. Man kann ja nicht für jede OS Funktion ein Beispiel coden. Als Nachschlagewerk dient da das RKM, was in der Amiblitz3 Online Hilfe (Syntax+Autodocs) integriert ist.

Wenn du meinen Rat angenommen hättest und FD2Include benutzt hättest, hättest du auch sofort gesehen wie man eine Library in Amiblitz3 einbindet ohne eine Blitzlib daraus zu generieren (also das, was du scheinbar vor hast). Aber du wolltest es ja selbst machen.

--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ Dieser Beitrag wurde von Der_Wanderer am 26.09.2008 um 00:10 Uhr geändert. ]



[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 11:04 Uhr

Der_Wanderer
Posts: 1229
Nutzer
@Whose
> Mal davon ab, daß Du mit seinem Sprachverständnis durchaus Recht
> hast: Für welche der Compilerbibliotheken hast Du .c-Dateien, die
> Du mit einbinden kannst/mußt?
Er hat aber von doppelten Beispielen gesprochen. Als wo in C eine "main" drin wäre, und nicht von einer Bibliothek die gelinkt wird.

Die "Includes" in Amiblitz3 unterscheiden sich gegenüber C .lib Bibliotheken darin, dass sie als Sourcecode eingebunden werden.
Das funktioniert gut, weil der AB3 Compiler so Hölle schnell ist.
Der Vorteil ist dann, dass man noch Dinge zur Compile Zeit beeinflussen kann (z.B. werden nur Funktionen compiliert, die auch angesprochen werden) oder Source-Level Debuggen kann.

@DieterG
Die "doppelten" Demos kommen davon, dass du die Amiblitz3 Installation scheinbar über eine alte Beta kopiert hast. Das ist natürlich pöse pöse. Wir haben uns für das "final" Release entschlossen, den Demos Ordner und den Examples Ordner zusammenzulegen, da die Demos ja "Examples" sind.
Die kommen nur von verschiedenen Quellen.
Du kannst den Ordner "Demos" also löschen. Am besten aber AB3 nochmal entpacken und NICHT über eine alte Install kopieren! Möglicherweise kommen deine Probleme daher, dass sich irgendwelche Libraries beissen. Kopiere dann auch nochmal alle Libraries von Amiblitz3/Libs in dein Libs: Verzeichnis.






--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 11:30 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Sorry wenn ich auf die Palme gehe, aber das Amiblitz3 Team gibt sich wirklich Mühe und dein Ton ist sehr herablassend, wobei vieles nicht stimmt oder du eben nur nicht weisst.
Ich zitiere mal aus diesem Thread:

Zitat:
weil es gar kein richtiges Basic ist, also nicht mal die standardbasic Befehle wie "input" kann.
"nicht mal" stimmt nicht. Sie sind dem BlitzBasic Style nur möglicherweise etwas angepasst, siehe Input vs. Input$. Ein Blick in die Onlinehilfe ODER das Handbuch hätten dir das sofort aufgezeigt.
Auf der anderen Seite hast du gegenüber einem "richtigen Basic" wahnsinnige Vorteile, was sowohl die Speed als auch die Funktionalität angeht.


Zitat:
Erzeugt niemals irgendwas brauchbares, weil aber auch immer fehler angemeckert werden, ohne zu erklären, was den bitte z.B. an einem einfachen "nextscreen.l = > .IntuitionBase\FirstScreen"
Ein Compiler ist dazu da, Fehler anzumeckern, und in 99.99999% der Fälle hat er auch recht. Man muss sich eben an die Syntax der Sprache halten.
Wenn du diese Zeile in C eingegeben hättest, würde der Compiler auch ausflippen. Weil es eben kein C ist. Dann kommen manchmal seltsame Fehlermeldungen, weil er versucht es zu interpretieren.

Zitat:
ich habe meiner meinung nach alle examples durch
Die Examples sind nicht dazu da, die komplette AmigaOS API zu erklären. Dafür ist das RKM zuständig, was ja auch integriert ist. In Amblitz3 öffnet man eine Library genauso wie in C oder ASM. nur eben in der Amiblitz3 Syntax.

Amiblitz3:
*myBase.Library = OpenLibrary_("blabla.library",7)
C:
struct Library* myBase = OpenLibrary("blabla.library",7);

Wenn du spezielle Fragen hast, gibt es ein Forum wo du auch promt eine Antwort bekommst.

Zitat:
...ausserdem bekomme ich quellcodes garnicht eingelesen, alerdings kommt da
wenigstens ein fortschrittbalken beim compilieren)

Wie kannst du kompilieren, wenn du Quellcodes "garnicht" einlesen kannst?
Ich hoffe das Quellcode einlesen funktioniert jetzt, wenn du das "/" beim Pfad weglässt. Das Problem ist im nächsten Release behoben. Danke nochmal für de Bugreport.

Zitat:
Welches Basic-ähnliche gibts es denn noch für den Amiga, das wenigstens stabil läuft ?
Amiblitz3 läuft stabil. Du kannst jedes Program "instabil" machen, wenn du es nicht richtig installierst, falsche Libraries verwendest oder einen üblen Patch installiert hast.

Zitat:
...würde ich niemals schlecht machen wollen oder deren Produkte, so fehlerhaft sie auch sein mögen...
Zitat:
...Nungut, will es ja nicht schlechter reden als es ist,...
Ohne Worte ;-)

Zitat:
Also erstmal wäre es schön, wenn AB nicht die help-taste verwenden würde
Wir reden hier aber von Software für den Amiga, ja?
Hat ein AOne keine Help Taste, bzw. einen Ersatz dafür?

Zitat:
...wenn ich auch nur ein fünkchen Zeit hätte, würde ich gerne helfen,
Ist das so? Zum posten reicht es immerhin.




--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 11:44 Uhr

Der_Wanderer
Posts: 1229
Nutzer
> und was sagt deine schnellhilfe dazu etwa auch version "7)" ?
"Meine" Schnellhilfe liefert schon während ich OpenLibrary_ tippe folgendes:

Bild: http://www.hd-rec.de/pics/ab3_hilfe1.png

Und wenn ich shift+Help über der "OpenLibrary" drücke,bekomme ich es ausführlich erklärt. Auf dem Bild habe ich auch Library im Instructionbrowser eingegeben, da kommt alle Befehle mit "library" drin.

Bild: http://www.hd-rec.de/pics/ab3_hilfe2.png

> Also öffnen kannst du so die library nicht, ohne klammern wird sie wenigstens geöffnet, aber es kommt immer null zurück.
Ohne Klammern ist es keine Funktion, sondern eine Anweisung. Anweisungen haben kein Rückgabewert.
So, wie es da steht, öffnet man eine Library und erhält den Base-Pointer.


--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 12:11 Uhr

whose
Posts: 2156
Nutzer
Zitat:
Original von Der_Wanderer:
@Whose
> Mal davon ab, daß Du mit seinem Sprachverständnis durchaus Recht
> hast: Für welche der Compilerbibliotheken hast Du .c-Dateien, die
> Du mit einbinden kannst/mußt?
Er hat aber von doppelten Beispielen gesprochen. Als wo in C eine "main" drin wäre, und nicht von einer Bibliothek die gelinkt wird.


Ja, genau. Und immerhin hast Du nun auch bemerkt, wo sein "Fehler" lag. Der hatte aber nichts mit irgendwelchen Spracheigenschaften zu tun ;)

Zitat:
Die "Includes" in Amiblitz3 unterscheiden sich gegenüber C .lib Bibliotheken darin, dass sie als Sourcecode eingebunden werden.
Das funktioniert gut, weil der AB3 Compiler so Hölle schnell ist.
Der Vorteil ist dann, dass man noch Dinge zur Compile Zeit beeinflussen kann (z.B. werden nur Funktionen compiliert, die auch angesprochen werden) oder Source-Level Debuggen kann.


Im Prinzip heißt das nur, daß es unter AB Usus ist, irgendwelche Bibliotheken immer im Sourcecode zur Verfügung zu stellen. Einen absoluten Vorteil erkenne ich da nicht, da das in C ebenso möglich ist (und bei richtig fetten Bibliotheken wäre ein C-Compiler mit der vorcompilierten Bibliothek wiederum etwas besser gestellt, weil er die gewünschte Bibliotheksfunktion schlicht und einfach dazulinkt und nicht jedesmal die ganze Bibliothek nach der gesuchten Funktion durchwühlen muß, um sie dann erneut zu compilieren).

Jede Sprache hat so ihre Eigenheiten und ich denke nicht, das irgendeine Sprache wirklich absolute Vorteile bietet. Was man auf der einen Seite als Vorteil "erkauft", wird einem auf der anderen als Nachteil wieder genommen. Letztendlich entscheiden wohl mehr persönliche Vorlieben darüber, wer welche Sprache am liebsten "spricht". Z.B. Du AmiBlitz und ich C. Und wir hätten wohl beide recht gute Argumente für unseren "Liebling", so daß wir ewig drüber streiten könnten. Müssen wir aber gar nicht, ich will Dir AB nicht madig machen ;)

@DieterG

Tu uns den Gefallen und hör auf Thilo. Installier AB ordentlich und versuchs nochmal. Ich bin mir 100% sicher, daß es dann auch bei Dir problemlos tut, solange Du keine finsteren Patches im System hast (wobei mir ad hoc kein einziger Patch einfällt, der AB zu solchen Fehlern "animieren" würde).

(Vorsicht, offene Worte folgen, aber nicht so persönlich gemeint, wie man sie auffassen kann. Also bitte erst darüber nachdenken, dann posten)

Im Moment habe ich das Gefühl, daß Du einer von den allseits gefürchteten "allwissenden Usern" sein könntest, die eine Software völlig unüberlegt "ausprobieren", feststellen, daß sie wegen der völlig unüberlegten Installation nicht funktioniert, sie dann als "unbrauchbar" abstempeln und starrsinnig auf der Annahme bestehen, daß ihrerseits kein Fehler vorliegt sondern nur die Software "Schrott" sein kann.

Problem ist nur: So funktioniert das nicht und wird es auch nie. Software geht von bestimmten Grundvoraussetzungen aus, die das jeweils benutzte Computersystem und auch der Benutzer mitbringen muß, damit alles reibungslos funktioniert.

Dazu gehört unter anderem, daß der Benutzer sich wenigstens über die notwendige Vorgehensweise bei der Softwareinstallation per mitgeliefertem Handbuch (bzw. Textdatei) schlau macht, bevor er damit anfängt. Meistens funktioniert es zwar, wenn man eine neue Software-Version über die alte "drüberbügelt", aber eben nicht immer. Das scheint in Deinem Fall dann auch passiert zu sein.

Hellhörig hättest Du schon in dem Moment werden sollen, in dem andere Benutzer hier mitteilten, daß AB bei ihnen problemlos seinen Dienst tut, sogar auf den gleichen Systemen, wie Du sie einsetzt. Das ist ein totsicheres Zeichen dafür, daß das Problem weit wahrscheinlicher auf Deiner Seite zu suchen ist als auf Seiten der Software, so unangenehm diese Vorstellung für Dich auch sein mag.

Sobald AB bei Dir seinen Dienst tut, versuche diese Erfahrung mitzunehmen und sie in Zukunft bei ähnlichen Problemen zu nutzen. Erspart Dir eine Menge Zeit und die Fans der jeweiligen Software behalten den normalen Blutdruck :D
--
---

:boing: µA1 PPC 750GX-800
:boing: A4000 PPC 604e-233

[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 13:22 Uhr

Honitos
Posts: 200
Nutzer
@whose:
Danke für die gut gewählten Worte.
Und danke für Deine neutrale Meinung zu AB3.
Es tut gut, so etwas auch mal von jemandem zu lesen, der selbst nicht mit der IDE damit arbeitet, sie jedoch trotzdem "leben läßt".


@Thilo:
Danke für Deinen Einsatz.

[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 19:46 Uhr

bernd_roesch
Posts: 364
[Benutzer gesperrt]
>Wenn der Enforcer und Wipeout an ist, dann dauert das in der Tat um >den Faktor 10 oder 20 länger. Vielleicht ist das ein CPU-Cache->Geschichte, keine Ahnung.

tatsächlich, ich habe nur nicht lange genug gewartet, nach sage und schreibe 59 sec ist es dann gestartet.also gar kein Absturz.verwendet das etwa AOS alloc mem functions ?.selbst ein riesengrosses programm kompilieren hat mit wipeout nur etwa 20 sec gedauert.

Zumal man beim coden eigentlich immer wipeout nutzen sollte um Fehler schneller zu finden.und wenn es dann mal abstürzt, ist es schon wichtig, dass es so schnell wie möglich da ist und man weitermachen kann.man kann zwar den amiblitz task vom check ausnehmen, aber man will ja auch gleich sehen ob AB sauber läuft.

wieso wird der index eigentlich jedesmal beim start erstellt ?.Ich hatte es so, dass man help from include dir Menü
anwählt und es wurde erstellt, das hat dann auch ca 2 sec gedauert.

ausserdem die anzeige der types bei jedem start muss auch nicht sein, ich hatte es so, dass die types erst angezeigt werden wenn man 1 Buchstaben eintippt.dadurch müssen nicht soviele types in das listview eingetragen werden und es wird dann schneller.


[ - Antworten - Zitieren - Direktlink - ]

26.09.2008, 21:13 Uhr

Honitos
Posts: 200
Nutzer
@bernd_roesch:
Ich arbeite da viel mit Listen, evtl. bremst das so.

Der Index wird immer erzeugt, da man da dynamisch Libs einbinden kann, indem man sie in "Userlibs" kopiert. Ich könnte da noch einen Check einbauen, so dass der Index nur neu aufgebaut wird, wenn sich an der Libstruktur etwas geändert hat.

Den Menupunkt gibt es auch noch, der baut allerdings den Helpindex der Include-Funktionen auf.

Die Types sind inzwischen ja kein Listview mehr, sondern meine Tabelle.
Und die zeigt nur die dargestellten Einträge an.

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 09:25 Uhr

bernd_roesch
Posts: 364
[Benutzer gesperrt]
>Einen absoluten Vorteil erkenne ich da nicht, da das in C ebenso >möglich ist (und bei richtig fetten Bibliotheken wäre ein C-Compiler >mit der vorcompilierten Bibliothek wiederum etwas besser gestellt, >weil er die gewünschte Bibliotheksfunktion schlicht und einfach >dazulinkt und nicht jedesmal die ganze Bibliothek nach der gesuchten >Funktion durchwühlen muß, um sie dann erneut zu compilieren).

auf meinem AMD64 3000+ mit membus raten von 1,5 Gigabyte, kompiliert amiblitz und unter winuae schneller als gcc native linkt, und ich nutze nur amidevcpp, das einen schnelleren check hat(aber nicht 100% geht).nehm ich make wird es noch langsamer.

Wie quälend langsam das ist, sehe ich jetzt weil ich den gcc Kompiler nicht mit amidev kompilieren kann.

Das exe ist gerade mal 3 MB gross, ändere ich ein kleines file, braucht es 20 sec zum linken, (natürlich rufeich make im gcc verzeichnis auf, mache ich das über das gnaze dir, braucht es noch länger um rauszufinden, was nicht kompiliert werden muss.ändere ich ein header file, kompiliert der etwas über 5 Min.ein gesamt build braucht etwas über 22 minuten.
kannst ja mal gcc auf deinem aone kompilieren, ich denke, wegen des langsamen aone ram und geringen CPU Takt,dauert das schon über 1,5 Std.

windows cacht alle files, ich habe 1 GB ram und wie du ja an dem OS4.1 test lesen kannst, wo einer schrieb 256 MB reichen nicht für sein Programm braucht gcc sehr viel ram.wenn man dann noch einen Rechner hat, der langsamen Ram Zugriff hat, wie das bei OS4 HW so üblich ist, dann braucht natürlich auch der linker noch länger bis er die labels durchsucht hat.

hinzu kommt noch, dass man bei C das Programm aufsplitten muss in mehrere .c files auch noch header dateien dazu braucht.Die labels der Headerdateien sind natürlich auch drin(schau dir mal die grösse der .o files an, und der linker braucht länger um das passende Label zu finden.

wenn du allerdings nur ein kleines programm machst in AB2, das nur nen ahi sound abspielt, dann braucht natürlich das kompilieren, der thilo includes erstmal 2 sec und denkst, das ist aber nicht viel schneller als C.aber innerhalb amiblitz werden dann schon mehrere MB sourcen kompiliert.auch wenn nur wenig code benutzt wird, es wird alles kompiliert.erst ein 2. oder 3. mal kompilieren, merkt dann welche Funktionen nicht benötigt werden und lässt die weg.

aber je grösser dein eignes Programm wird, desto weniger wird kompiliert, da durch die Thilo includes viele alltägliche Funktionen, die du in C erstmal selber coden musst, oder dazulinken musst da sind.

z.b wenn du nen asl requester aufmachen willst, musste meist mehrere zeilen code tippen etc.du kannst zwar auch bibliotheken machen, die universel verwendbar sind, aber in der regel machen das die wenigsten, wie man sieht bei amiga c gar keiner.so ne API sammlung wie es unter andren C versionen mit SDL usw gemacht wird, gibt es unter C für den amiga zugeschnitten garnicht.

und nicht zuletzt erreicht man in basic mit weniger tippaufwand die selben features.

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 09:42 Uhr

bernd_roesch
Posts: 364
[Benutzer gesperrt]
Zitat:
Original von Honitos:
@bernd_roesch:
Ich arbeite da viel mit Listen, evtl. bremst das so.


in der linklistlib, gibts den eintrag
#incnum=6

das heist, jedesmal wenn die List vom speicher her zu klein ist, wird platz für 6 eintrage geschaffen.

Wenn du den Wert erhöhst wird seltener mem alloziert allerdings ist dann die speicher Granularität höher.

stellst du das auf 60, dann wird wenn eine struktur 100 bytes gross ist, gleich 6000 bytes an mem alloziert.aber meist hat man garnicht so grosse Listen,aber wenn man mal eine hat, dann würde viel mem unnnötig alloziert.

wollte ich mal machen, nen Parameter, damit man die Speicher Granularität auch ändern kann, wenn mans braucht.aber ist auch so schon viel schneller dadurch als C List Klassen.

aber du kannst es ja mal austesten, wieviel mem zusätzlich gebraucht wird, wenn du den Wert höher nimmst, aber generell, solltest du es besser so machen, dass du das directory datum abfrägst, ist das neuer als dein file, weist du, dass du den Index erneuern musst.



[ Dieser Beitrag wurde von bernd_roesch am 27.09.2008 um 09:45 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 10:51 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Woa, #incnum ist 6?
Das ist ziemlich klein. Eigentlich sollte man das vom Speicher abhängig machen. Also z.B. #incmem=1024. Je nach Datentype kann ja 6 Einträge sehr gross oder auch verschwindend klein sein.
Auch ist es oft praktisch, einen Start-Wert zu liefern, wenn man die Größe schon abschätzen kann, später aber evtl. noch ein paar dazu kommen.

Also sowas wie

Dim DynList(#initialItems,#incItems) myList()



--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 14:30 Uhr

bernd_roesch
Posts: 364
[Benutzer gesperrt]
>Woa, #incnum ist 6?
>Das ist ziemlich klein. Eigentlich sollte man das vom Speicher abhängig machen. Also z.B. #incmem=1024.

bei tests habe ich nicht gemerkt, dass es langsamer wird.eigentlich hat alles über 4 keinen speedzuwachs mehr gebracht.deshalb macht man auf anderen Systemen das einfach mit bei jedem objekt allozieren.mehr als 2-3* schneller als wenn man wie üblich bei jedem Listeintrag alloziert, ist in der Praxis nicht rauszuholen.

aber der code war einfach zu implementieren und wenn ich das schon neu machen muss, dann eben auch mit dem Parameter zum einstellen.

so langsam ist das memalloc ja auch nicht trotz wipeout.mach mal nen benchmark und erzeuge 1 Million list einträge dynamisch, da braucht das nur 1-2 sec auch mit wipeout.

und wenn man nen neuen listeintrag erstellt, muss ja auch was berechnet werden.

ich denke es ist so langsam aus einem anderen grund, wollte aber nur zeigen, dass man die linklists auch schneller machen kann, wenn das das Problem sein sollte.

[ Dieser Beitrag wurde von bernd_roesch am 27.09.2008 um 14:32 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 14:37 Uhr

DieterG
Posts: 164
Nutzer
Zitat:
Original von Der_Wanderer:
Sorry wenn ich auf die Palme gehe, aber das Amiblitz3 Team gibt sich wirklich Mühe und dein Ton ist sehr herablassend, wobei vieles nicht stimmt oder du eben nur nicht weisst.
Ich zitiere mal aus diesem Thread:

Zitat:
weil es gar kein richtiges Basic ist, also nicht mal die standardbasic Befehle wie "input" kann.
"nicht mal" stimmt nicht. Sie sind dem BlitzBasic Style nur möglicherweise etwas angepasst, siehe Input vs. Input$. Ein Blick in die Onlinehilfe ODER das Handbuch hätten dir das sofort aufgezeigt.
Auf der anderen Seite hast du gegenüber einem "richtigen Basic" wahnsinnige Vorteile, was sowohl die Speed als auch die Funktionalität angeht.

Also ich habe weder über den instruction- noch über den definitionbrowser irgendeinen treffer namens input$. Welche Onlinehilfe meinst du denn ?

Zitat:
Erzeugt niemals irgendwas brauchbares, weil aber auch immer fehler angemeckert werden, ohne zu erklären, was den bitte z.B. an einem einfachen "nextscreen.l = > .IntuitionBase\FirstScreen"
Ein Compiler ist dazu da, Fehler anzumeckern, und in 99.99999% der Fälle hat er auch recht. Man muss sich eben an die Syntax der Sprache halten.
Wenn du diese Zeile in C eingegeben hättest, würde der Compiler auch ausflippen. Weil es eben kein C ist. Dann kommen manchmal seltsame Fehlermeldungen, weil er versucht es zu interpretieren.

Zitat:
ich habe meiner meinung nach alle examples durch
Die Examples sind nicht dazu da, die komplette AmigaOS API zu erklären. Dafür ist das RKM zuständig, was ja auch integriert ist. In Amblitz3 öffnet man eine Library genauso wie in C oder ASM. nur eben in der Amiblitz3 Syntax.

Amiblitz3:
*myBase.Library = OpenLibrary_("blabla.library",7)
C:
struct Library* myBase = OpenLibrary("blabla.library",7);

Wenn du spezielle Fragen hast, gibt es ein Forum wo du auch promt eine Antwort bekommst.

Zitat:
...ausserdem bekomme ich quellcodes garnicht eingelesen, alerdings kommt da
wenigstens ein fortschrittbalken beim compilieren)

Wie kannst du kompilieren, wenn du Quellcodes "garnicht" einlesen kannst?
Ich hoffe das Quellcode einlesen funktioniert jetzt, wenn du das "/" beim Pfad weglässt. Das Problem ist im nächsten Release behoben. Danke nochmal für de Bugreport.
[/quote]
Ist nur seltsam, das so etwas einfaches nocht niemand festgesellt hat. Mir hier gross erzählen, nur ich ahbe das problem, bei allen andere ist das nicht so.
Das kannst Du deiner Oma erzählen, aber nicht mir.

Zitat:
Welches Basic-ähnliche gibts es denn noch für den Amiga, das wenigstens stabil läuft ?
Amiblitz3 läuft stabil. Du kannst jedes Program "instabil" machen, wenn du es nicht richtig installierst, falsche Libraries verwendest oder einen üblen Patch installiert hast.

Zitat:
...würde ich niemals schlecht machen wollen oder deren Produkte, so fehlerhaft sie auch sein mögen...
Zitat:
...Nungut, will es ja nicht schlechter reden als es ist,...
Ohne Worte ;-)

Zitat:
Also erstmal wäre es schön, wenn AB nicht die help-taste verwenden würde
Wir reden hier aber von Software für den Amiga, ja?
Hat ein AOne keine Help Taste, bzw. einen Ersatz dafür?

Zitat:
...wenn ich auch nur ein fünkchen Zeit hätte, würde ich gerne helfen,
Ist das so? Zum posten reicht es immerhin.

[/quote]
ich halte mich auch sofort wieder raus., ist mir eh zu blöd, über sowas zu diskutieren.

Schade das du Dich hier so aufregs. Ich weß, das du der absolute AB3 speziallist bist, und für dic die Grundlagen alle klar sind. Aber für AB3 einsteiger besteht so keine Chance, jemals hinter diese zu kommen. Die Guide ansic enthalten zwar alle informationne, aber leiderin der Form, das sie als nachschlagewerk für Experten, und nicht für Anfänger nützlicher ist. Warum besteht z.B. der Befehlsindex nur aus zahlen astatt aus links auf die Befehel. Dann noc ein Besipiel zu jedem Befehl, nicht lang, sondern nur "so" wrid das versendet. Z.B. "*mylibbase.library = openlibrary_("libnamen",4) oder enben als vergleich ohne klammern. Aber das sind nur tipps an Dich für die Zukunft.
Ic habe eure Arbeit immer für Gut und sinnvoll gehalten, doch nahc den Tönen hier denk ich machst du mehr kaputt als nötig.


Nur noch kurz zur info:
ich habe amiblitz3 tatsächlich neu installiert, vorher manuell alles von alten neuen blitz oder ab versionen entfernt, inclusive assigns und libraries.
Dann neu installiert, und wie du geschrieben hast, einen WB-clone als Screen verwendet.
Nun habe ich beim Absturz der Amibitz dadurch zusätzlich ale Farben auf der Workbench verstellt, den Screen nutz er doch nun garnicht mehr ?
Und beim eintippen pasiert hier garnichts, also keine "Schreibhilfe".
desweiteren meine ich mit kUrzhilfe das, was man mit Shift-Hilfe bzw . Shift-"gemappte Taste" erreicht, da steht dann unter "parameter" der parameter mit schliessender Klammer (also hier "7)" ), was für jeden normalen Menschen auf einen Fehler hindeuten sollte.
Und das wir in einem Zeitalter leben, wo ein Editor die Tastenbelegung anpasspar haben sollte ist Dir vieleicht entgangen , aber gut, beim nächsten Kauf einer Tastarur werde ich darauf achten, das sie auch AmiBlitz verträglich ist. Du lebst scheinbar noch im Zeitalter des Amiga Classic.
Dazu, wenn man in Amiblitz ene Hilfe zu z.B. der verwendung des "OpenLibrary_" benötigt, dann wären hilfe zu diesem Thema gut, kein verweis auf autodocs, die ja nur den AmigaOS-Befehl erklären, nicht die verwendung unter AB3.

Zitat:
--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 14:38 Uhr

Honitos
Posts: 200
Nutzer
@bernd_roesch:
Ich schaue mir das mal an, aus aktuellem Anlass.
Ich hatte das "mal schnell" implementiert und es lief halt ganz gut - ich vergesse oft, wipeout einzuschalten...

Aber ich sehe, dass das noch Optimierungsbedarf besteht.


[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 16:14 Uhr

Blackbird
Posts: 634
Nutzer
@DieterG:

einen Moment mal...

ohne das ich mich nun großartig einmischen möchte, aber irgendwie entgleist gerade das Thema !

---
zuallererst zu dir selbst:
1. Du machst hier einen Thread auf in dem du nach Möglichkeiten suchst Basic/oder Basic ähnlich zu programmieren, schreibst als "Begründung" weil AB3 bei dir nicht funktioniert und ständig absemmelt... (das habe ich, und alle anderen dir auch noch geglaubt)

2. Man gibt dir Tips, oder Hinweise, aber du ignorierst die einfach, schreibst aber weiterhin das AB3 ganz klar "Mist" ist in einigen Bereichen die bei dir nicht funktionieren, schreibst aber nicht dazu ob du das auch ausprobiert hast was man dir anbot (mal von deiner Neuinstallation abgesehen, wobei ich nicht glaube das du das auch wirklich richtig gemacht hast bei deinem unverständlichen Text)...

3. scheinst du nun auch noch einen auf beleidigte Leberwurst spielen zu wollen.


So läuft das nicht !!!!!!!!!!!

Ich gebe dir nun einen guten Rat mit auf den Weg, entweder wir suchen nun gemeinsam nach einer Lösung deines Problems, oder du verkrümmelst dich unter deinen Assemblerstein unter den du hergekommen bist und beleidigst hier nicht Leute die dir helfen wollen, das ist ja wohl unter aller Sau!


So, und nun langsam schonmal das runterzählen anfangen (ist ein guter Stressabbauer, frag Maja mal !).

Wenn du möchtest, dann biete ich dir an mir privat zu schreiben und wir gemeinsam das Problem lösen. Ich bin mir sicher das es nicht viel sein kann ! Schließlich verwende ich AB3 täglich und kompiliere, oder schreibe, oder lade Source ein usw.. Ich hatte niemals solche geschilderten Probleme, und eines kannst du mir glauben, schon als Bernd AB2 weiterentwickelt hat, kenne ich ABx und als einer der wenigen Benutzer kann ich glaube ich mit Fug und Recht behaupten das es ohne "mich" nicht so laufen würde wie AB3 nun unter OS4 läuft...


Und als kleine Anmerkung noch zu den Systembefehlen...

der Verweis auf die Autodocs war sicherlich gut aber:

was dir Thilo oder Sven nicht verraten haben ist die Tatsache, das die Distro gar keine Autodocs enthält, du mußt die dir selber ins Docsverzeichnis kopieren und auch den Pfad im Icon (oder im Prefsprogramm) einstellen! Das ist aber auch keine Bosheit, sondern, wie du dir sicherlich denken kannst, eine Copyrightfrage! und ich gehe davon aus das Thilo oder Sven das sicherlich nicht mit Absicht verheimlicht haben...



@Thilo und Sven
eines noch an euch, denkt immer daran das ihr euch nicht mit AB3 brüsten könntet wenn euch nicht User über Bugs informieren würden oder euch bei der Suche helfen würden !

Weil manche Kommentare sind genauso übertrieben wie die die DieterG nun abgelassen hat...


So, und nun ansonsten EOT (für mich)
--
regards
Blackbird

Have a look at:
http://www.blackbird-net.de

Skins for PlayCD OS3.9
BlackShoot, Zombies Apocalypse, GalagaWars, VcdImager-Gui,PerfectPaint

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 18:10 Uhr

bernd_roesch
Posts: 364
[Benutzer gesperrt]
>Du lebst scheinbar noch im Zeitalter des Amiga Classic.
>Dazu, wenn man in Amiblitz ene Hilfe zu z.B. der verwendung >des "OpenLibrary_" benötigt, dann wären hilfe zu diesem Thema gut,

ne die leben alle nicht mehr im Zeitalter des classic und Sven und thilo haben ne hohe Rechenleistung mit winuae und wie du an dem Screenshot sehen kannst, auch AFA am laufen und haben auch moderne features eines AOS

Was mir aufgefallen ist, das storm wizard programme sehr viel input device stack benötigen, der fest mit 4096 bytes vorgegeben ist.laufen denn programme wie arteffekt stabil bei dir ?

wenn du viele patches laufen hast, wie visual prefs, birdie und noch etliche MCP Funktionen, die auch im input device task ausgeführt werden, kann es schon sein, dass es zu crashes kommt, weil der input device stack zu klein ist.

vielleicht mag AB3 auch eine bestimmte MCP Funktion nicht, ich habe bei MCP nur die nötigsten Funktionen an, aber wenn du helfen willst, kannst du mir mal das aktuelle MCP mailen und deine config, dann schaue ich mal was AB3 da macht.

ansonsten bei AFA gibts kein Problem mit dem input device stack.

Passiert es als, wenn du in einem listview fenster scrollst, dass der Rechner abschmiert ?

das problem hatte ich z.b anfangs als ich AFA entwickelte und habe daher den stacksafe code eingebaut.

-------------------

dann zu der Help Taste.
Das schöne am amiga war schon immer, dass er ne Help Taste hatte, und das nutzen auch alle Programme um an die Hilfe zu kommen.windows hat dazu F1

Da es nunmal bei den Zukunftsamigas nur standard PC Tastaturen gibt, muss man die help Taste irgendwo hinlegen, damit man help auch bei andren amiga progs benutzen kann.Wo ist die denn bei OS4 ?

Es gibt ein Programm, das nennt sich mmkeyboard, damit kannst du auf allen amiga systemen die tasten umbelegen wie du willst.

ausserdem kann man in winuae selber in der input tab die tasten umbelegen.aber bei mmkeyboard findet man sich leichter zurecht.

ansonsten muss man halt bei jeder Programmiersprache auch mal was neues lernen, das ist bei C genauso.

Mir war allerdings klar, dass wenn es beim amiga eh so duster aussieht, die sich amiblitz mal angucken, nicht viel zeit investieren wollen, und am liebsten in 2 Tagen nen webbrowser coden der besser als firefox ist.

Und wenn das nicht geht und man auch noch was lesen muss, dann ist Amiblitz scheisse.

daher habe ich nur das wesentlich für erfahrene amiblitz coder verbessert, und keine Zeit in schönere GUI und doku gesteckt.aber Sven und die anderen haben viel arbeit reingesteckt, etwas mehr neueinsteiger freundlicher zu machen, weil sie dachten es würden mehr programmieren.

in der hilfe kann man programmers guide to blitz anwählen und lernt so mehr und mehr über die syntax

Was du mit dem input befehl dauernd willst versteh ich nicht, beim amiga schreibt man Programme mit GUI.da kann man mit dem input befehl wie ihn das standard basic bietet eh nix anfangen.gui befehle und grafik befehle wurden nie in dem Standard basic befehlssatz implementiert

genauso wie in C auch.der Standard wurde vor Jahren einmal definiert, als man an GUI und grafik nicht dachte.

Wenn du in C ein Programm schreiben willst, dann musst du entweder selbercoden, oder ein Funktions API wie SDK wxwindows benutzen.Das musst du dann auch lernen.

C ist was das zeigernutzen angeht inkonsistent, das ist wohl das erste was einem auffällt.

wenn man in C einen Zeiger definiert mit *test, dann gibt man später den * beim Zugriff nicht mehr an, macht man es aus versehen trotzdem, bekommt man den Zeiger auf den Zeiger.

wenn man in amiblitz pointer nutzt z.b so
test=10
*test.Library=OpenLibrary("test.library",0)

muss man den auch angeben.ansonsten spricht man eine andere Variable an.

print test würde dann den Inhalt von test ausgeben.wenn du amiblitz mit syntax 2 auf deklarationsprüfung stellst, würde es meckern, weil test nicht initiert ist

das man den * immer angibt finde ich sinnvoll, weil man da erkennen kann und weis man hat nen zeiger.

damit man in einem Programm besser den Überblick behält, wurde übrigens für C die ungarische Notation empfohlen.da soll man dann kürzel in den variablen namen nehmen, damit man weis ob es ein Zeiger auf eine Struktur, oder ne variable ist.und die kennungen $ oder *sind dann eben die Kürzel bei amiblitz, die eigentlich jedem sagen sollten, was das ist.

http://de.wikipedia.org/wiki/Ungarische_Notation


[ Dieser Beitrag wurde von bernd_roesch am 27.09.2008 um 18:12 Uhr geändert. ]

[ Dieser Beitrag wurde von bernd_roesch am 27.09.2008 um 18:14 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 18:40 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Ok, ok, ich bin hier etwas entgleisst, gebe ich zu.
Darum mein Friedensangebot an Dieter:

- Du formulierst Kritiken und Bugreports sachlich, lässt also "geladene" Formulierungen weg wie "kann ja nicht einmal", und stellst auch keine Behauptungen in den Raum wenn du dir nicht wirklich sicher bist dass es so ist. => Weil das bringt mich auf die Palme! Angebracht wäre zu fragen, ob das sein kann oder ob ein Fehler vorliegt.

- Ich anworte auch sachlich und versuche nichts zu übergehen, weil ich es für selbstverständlich halte.

Habe gerade gesehen, dass die Autodocs tatsächlich nicht in der Distro sind. Also die würde ich empfehlen extra zu installieren.
Am besten gleich die OS3.9. Vielleicht hat hier jemand einen Link parat, weiss gar nicht mehr wo ich die her habe.

Also nochmal zu den Abstürzen:
Zu OS4 kann ich nichts sagen, da ist Blackbird der Experte. Unter WinUAE sollte das stabil laufen. Wenn es nicht so ist, dann stimmt irgendwo was nicht.
Das kann sein:
a) ein Patch ist installiert der sich nicht mit AB3 verträgt
Der einzige Bekannte der Probleme macht ist ein Hotkey Patch, der in AmiSys verwendet wird.
b) Zu wenig Stack wie Bernd geschrieben hat, liegt dann auch an Patches, evtl. hilft hier auch StackAttack(?)
c) kein Picasso96 installiert
d) alte Libs werden bentuzt, deshalb die aus der Distro nehmen im Zweifelsfall
e) es ist tatsächlich ein Bug in AB3, der bei dem Rest der Welt nicht zu tage tritt. Das wäre dann natürlich für alle wichtig zu wissen.

Generell würde ich dir empfehlen, keine Patches zu nutzen, ausser AfA und Solid Moving von MCP. Mehr braucht man eigentlich auch nicht, da AfA alle möglichen Patches überflüssig macht.

Der ASL Bug ist bisher niemandem aufgefallen, weil der Requester bei normaler Benutzung kein "/" ans Ende des Pfades setzt. Hast du evtl. einen ASL Requester Replacement Patch? Oder hast du das "/" per Hand eingegeben?
Sollte nun aber kein Problem sein, die nächste Version fixt das und bis dahin achte darauf, dass der Pfad nicht mit "/" endet.

Desweiteren bitte ich um Verständnis, dass man es nicht allen recht machen kann. Je nach Experience Level oder angestrebten Projekten sind die Vorstellungen sehr unterschiedlich, was ein sinnvolles Demo ist und was überflüssig/verwirrend erscheint.
Generell halte ich Amiblitz3 für sehr Einsteiger freundlich, wenn mal eine kleine Hürde genommen ist.
Es ist wichtig die grundlegende Syntax zu kennen, die findet man im Handbuch sehr schön beschrieben. Dann muss man wissen wie man mit der Online Hilfe umgeht. Ab dann hat man genug Werkzeug in der Hand, um sich prinzipiell selbst zu helfen.
Wenn es aber irgendwo hängt, bitte nicht zögern im Forum zu fragen. Meist bekommt man sehr schnell eine Antwort mit Codeschnipseln wie das geht.
Aber bitte eben nicht im Stil "Ey, alles scheisse, es geht net!", sondern "Ich habe das Problem xy, weiss jemand wie das geht?"


--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de



[ Dieser Beitrag wurde von Der_Wanderer am 27.09.2008 um 18:53 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

27.09.2008, 18:49 Uhr

Der_Wanderer
Posts: 1229
Nutzer
Nochmal zu den bisher aufgetauchten PRoblemen:

1. ASL Requester auf den "/" achten, dann sollte das laden funktionieren.

2. AmigaOS Aufrufe heissen genauso wie im RKM, nur mit einem "_" am Ende. Das wurde gemacht, damit sie nicht mit den BlitzBasic Befehlen kollidieren, die manchmal genauso heissen können.
I.A. kommen die Parameter in Runde Klammern, es sei den man möchte den Rückgabewert nicht nutzen, dann ist es keine Funktion mehr sondern eine Anweisung, da kommen keine Klammern.
In der Regel will man die Rückgabewerte von AmigaOS Funktionen aber auswerten.
Konkret heisst das:
*myBase.Library = OpenLibrary_("mylib.library",7)

Weil der Rückgabewert - der Base-Pointer der Library - verwertet werden soll.

OpenLibrary_"mylib.library",7
Wäre eine Anweisung, und der Rückgabewert ist für immer verloren.

3. Pointer sollte man dem guten Sil wegen nicht in einem .l (32bit Integer) speichern sondrn in einer Pointervariable vom Korrekten Type.
*myBase.Library = OpenLibrary_("mylib.library",7)
myBase.l = OpenLibrary_("mylib.library",7)
machen zwar das gleiche und funktionierrt auch, die Pointer Variante ist aber schöner, weil man auch gleich festhält, um was für einen Pointer es sich handelt.

4. Die Funktion Input$ gibt es. Tippe das doch mal im Editor ein, das sollte dann blau werden. Wenn das im Instructionbrowser eingibts, sollte der entsprechende Eintrag erscheinen.
Wenn das nicht so ist, stimmt was mit der Installtion nicht, was micht sehr wundern würde, da man ja eigentlich nichts installierten muss.

5. Die Schnellhilfe steht in der Screentitelleiste.
Die sollte während des tippens schon erscheinen, und zwar in dem Moment wo dem Editor klar wird, dass es eine Funktion ist, das passiert wenn man "(" oder "{" tippt.
Die geschweiftel Klammer ist für eigene Funktionen oder eben Funktionen aus den Includes.


--
Thilo Köhler, Author von:
HD-Rec, Sweeper, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, AudioConverter, ScreenCam, PerlinFX, MapEdit, TK AB3 Includes und viele mehr...
Homepage: http://www.hd-rec.de


[ - Antworten - Zitieren - Direktlink - ]


1 -2- 3 4 5 6 [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > AmiBlitz will nicht, welche alternative ist die Beste ? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.