🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fras.text.programmieren
2 messages
2 total messages Started by Ralph Seichter Thu, 04 Apr 1996 01:09
ARexx-Libraries -- wie programmieren?
#100
Author: Ralph Seichter
Date: Thu, 04 Apr 1996 01:09
14 lines
1324 bytes
Ich suche Informationen, die das Erstellen einer ARexx-Library beschreiben.
Ich habe hier nur ein paar Stücke Code unbekannter Herkunft, nach denen es
so aussieht, als bestehe solch eine Lib nur aus einer Dispatcher-Funktion,
die ARexx-Kommandos entgegennimmt und dann weitere Funktionen aufruft.

Das allein ist mir allerdings zu vage, denn ich wüßte gern genau, was ich
zu tun habe. Mir steht übrigens der SAS/C 6.56 zur Verfügung, was die Im-
plementierung einer "shared library" deutlich vereinfachen dürfte, und ich
bin auch für Compiler-spezifische Hinweise dankbar.

	-Ralph
-- 
"Und dann hat er gesagt, ich sei ein Choleriker." "Was ist das denn?"
"Keine Ahnung. Auf jeden Fall hab' ich ihm eins in die Fresse gehauen!"
Re: ARexx-Libraries -- wie programmieren?
#102
Author: Andreas Winkelmann
Date: Fri, 05 Apr 1996 21:10
37 lines
2174 bytes
Hallo Ralph.

> Ich suche Informationen, die das Erstellen einer ARexx-Library beschreiben.
> Ich habe hier nur ein paar Stücke Code unbekannter Herkunft, nach denen es
> so aussieht, als bestehe solch eine Lib nur aus einer Dispatcher-Funktion,
> die ARexx-Kommandos entgegennimmt und dann weitere Funktionen aufruft.

Die Frage kommt mir irgendwie bekannt vor :-) Hatte ich sie nicht
vor kurzem auch mal gestellt ?

Die Funktion steht normalerweise an Offset -30, und bekommt in
Register a0 einen Pointer auf eine RexxMsg Struktur. Den
Funktionsnamen gibt es in ->rm_Args[0] und die nachfolgenden
Argumente entsprechend in rm_Args[1] - rm_Args[15]. Die Anzahl
der Argumente ist in rm_Action in den ersten 3 Bits
verschlüsselt. Zurück kannst Du dann eine ARexx-Variable setzen
( SetRexxVar() ), oder falls es in das `result' zurückgehen soll,
einen mit CreateArgstring() erzeugten String in a0
zurückschieben. Returncode ist ein int-Wert, der entweder NULL,
oder eine ARexx-Fehlermeldung zurückgibt. Die Fehlermeldungen
stehen in den Includefiles.

Das ist eigentlich schon alles. Hat mich aber einige Nerven und
Magengeschwüre gekostet :-)

> Das allein ist mir allerdings zu vage, denn ich wüßte gern genau, was ich
> zu tun habe. Mir steht übrigens der SAS/C 6.56 zur Verfügung, was die Im-
> plementierung einer "shared library" deutlich vereinfachen dürfte, und ich
> bin auch für Compiler-spezifische Hinweise dankbar.

Falls Du noch Fragen hast, oder einen Beispielsource ( SAS/C )
willst, schreib einfach.

-----
Andreas Winkelmann

E-Mail : andi@art-line.de -- MicroDot V1.11beta16
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads