amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Infos an Commidities senden [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2007-12-25, 12:14 h

Ralf27
Posts: 2779
User
Problem ist folgendes:

Gegeben ist ein Programm, das mit Commodities arbeitet. Jetzt kann es sein, das das Programm schon läuft und wärend es läuft wird es nochmal aufgerufen. Soweit, sogut. Ich könnte dann dem vorhergehenden Programm sagen das es sich beenden soll, aber das möchte ich nicht. Vielmehr möchte ich folgendes:

1. wenn das Programm schon läuft, dann sollen an ihn Daten übergeben werden (ein mal ein String, das wars).

2. wenn das Programm noch nicht läuft, dann soll es normal starten. Aber erst mal muß ich feststellen ob es zum ersten mal gestartet wurde.


Vorallem Punkt 1 macht mir Kopfzerbrechen. Wie kann ich das bewerkstelligen?
--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]

2007-12-25, 12:18 h

akl
Posts: 265
User
@Ralf27:
Am sinnvollsten wäre ein ARexx-Port:

1. Über den können Daten übergeben werden, wenn er existiert.
2. Wenn der ARexx-Port noch nicht existiert, dann ist die neu gestartete Instanz auch die erste.

Ansonsten ginge im Prinzip auch ein eigener "Custom"-Port bzw. eine öffentliche Semaphore mit etwas "Zubehör".

[ - Answer - Quote - Direct link - ]

2007-12-25, 12:46 h

Kronos
Posts: 1168
User
Mal schnell in die Includes geschaut(libraries/commodities.h):
struct NewBroker
{
BYTE nb_Version; /* Must be set to NB_VERSION */
STRPTR nb_Name;
STRPTR nb_Title;
STRPTR nb_Descr;
WORD nb_Unique;
WORD nb_Flags;
BYTE nb_Pri;
struct MsgPort *nb_Port;
WORD nb_ReservedChannel;
};

/* constant for NewBroker.nb_Version */
#define NB_VERSION 5 /* Version of NewBroker structure */

/* Sizes for various buffers */
#define CBD_NAMELEN 24
#define CBD_TITLELEN 40
#define CBD_DESCRLEN 40

/* Flags for NewBroker.nb_Unique */
#define NBU_DUPLICATE 0
#define NBU_UNIQUE 1 /* will not allow duplicates */
#define NBU_NOTIFY 2 /* sends CXM_UNIQUE to existing broker */

Da bleibt jetzt nur noch die Frage ob du nur NBU_NOTIFY oder
NBU_UNIQUE | NBU_NOTIFY setzen musst ....

Eventuell den 2ten Broker erst mal anlaufen lassen, vom 1ten
analysieren lassen (sprich die Parameter auslesen) und dann beenden.

Ist aber schon Jahre her, das ich was mit Coomodities gemacht habe ...

Noch ne Idee, wenn dein Broker mit der Fehlermeldung "CBERR_DUP" nicht
erstellt wird, läuft schon einer, also den suchen und ne Nachricht
schicken.

MfG
Kronos
--
Only the good die young all the evil seem to live forever

[ - Answer - Quote - Direct link - ]

2008-01-10, 22:39 h

Ralf27
Posts: 2779
User
Danke, ich muß mir das bald nochmal genauer ansehn. Bin da gerade auf andere Probleme gestoßen, sodas ich das gerade etwas liegen lasse. Aber ich komme bald wieder drauf zurück. :D
--
http://www.alternativercomputerclub.de.vu

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Infos an Commidities senden [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.