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

amiga-news.de Forum > Programmierung > Infos an Commidities senden [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

25.12.2007, 12:14 Uhr

Ralf27
Posts: 2779
Nutzer
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

[ - Antworten - Zitieren - Direktlink - ]

25.12.2007, 12:18 Uhr

akl
Posts: 265
Nutzer
@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".

[ - Antworten - Zitieren - Direktlink - ]

25.12.2007, 12:46 Uhr

Kronos
Posts: 1168
Nutzer
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

[ - Antworten - Zitieren - Direktlink - ]

10.01.2008, 22:39 Uhr

Ralf27
Posts: 2779
Nutzer
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

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Infos an Commidities senden [ - Suche - Neue Beiträge - Registrieren - Login - ]


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