Lieber Besucher, herzlich willkommen bei: GEOS-InfoBase-Forum.
Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert.
Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können.
Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang.
Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Multilaunch
Ich möchte eine Application multilaunchable machen.
Dazu nehme ich aus der gp-Datei zunächst den Eintrag single heraus.
Dann ersetze ich in der goc-Datei alle Methodenaufrufe z.B. @call objekt::MSG_IRGENDWAS durch @call GeodeGetOptrNS(objekt)::MSG_IRGENDWAS. So wird es in der FAQ beschrieben. Leider bleiben die Fehlermeldungen von pmake, die ich ohne GeodeGetOptrNS bekommen habe, dieselben. Was mache ich falsch?
Wilfried
Hallo Wilfried,
das kommt jetzt auf die Fehlermeldung an. Poste mal, plus zugehörigen Code. Nach dem, was er mir anzeigt würde ich denken, dass die Resource mit den Objekten noch irgendwie "umdeklariert" werden muss, evt mit einem Flag wie "sharable" oder "read-only" (aus dem Kopf!). Ich würde an den UI-Code oder an die GP GP-Datei denken.
Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.
Die Fehlermeldungen sehen exakt so aus wie in diesem Beitrag zur FQA:
Error Bitmap.GOC 73: Error handle relocation from shared/read-only to
unshared/writable segment INTERFACE
Error Bitmap.GOC 73: Error geode cannot be multi-launchable
It is becuase you don't have the "single" flag set in the "type" line
of your .gp file. The type line should look something like this:
type appl, process, single
You will generally want your application to be single launchable,
especially on smartphones and PDA devices. If you are writing an
application that you do want to make multi-launchable (that is,
more than one instance of the application can be launched
concurrently), then you will need to use GeodeGetOptrNS on any
static optrs in your source code. Here is an example of using
that:
@send GeodeGetOptrNS(@MyObject)::MSG_META_DUMMY();
Ich habe mal Hello2 versucht, multilaunchable zu machen. Zuerst den single Eintrag entfernt und kompiliert. Die angemahnten Methodenaufrufe dann wie oben beschrieben mit GeodeGetOptrNS(@object) ergänzt. Pmake hat daraufhin keine Fehlermeldung zurückgenommen.
GeoFile ist multilaunchable. Im Grunde wird dort nach dem obigen Schema vorgegangen (allerdings nicht bei allen Methodenaufrufen, Hängt wohl von der Art der Objekte ab).
Ein Rätsel...
Hast du zwischnendurch mal clean, mkmf, pmake depend aufgerufen?
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.
Aber Rainer!
Das war natürlich das Erste, was ich probiert habe:-).
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.
Hallo Wilfried,
schön von Dir mit GEOS-Fragen hier zu lesen :-)
Bitte beachte
LINKFLAGS += -r
im local.mk des GeoFile.
Viele Grüße,
Falk
blueway.Softworks
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »frehwagen« (17. Juni 2021, 23:38)
Das war der fehlende Baustein
Danke Falk!