struct MyMessage { struct Message Message; UWORD Data1; UWORD Data2; ULONG Data3; UBYTE Data4[12]; }
struct MyMessage MojKomunikat;
void PutMsg(struct MsgPort *, struct Message *); struct Message *GetMsg(struct MsgPort *); void ReplyMsg(struct Message *);
PutMsg(MojPort, &MojKomunikat); &MojKomunikat=GetMsg(MojPort); ReplyMsg(&MojKomunikat);
MojKomunikat.mn_Node.ln_Type=NT_MESSAGE MojKomunikat->mn_Node->ln_Type=NT_MESSAGE MojKomunikat->mn_Node.ln_Type=NT_MESSAGE
@dolek, post #1
ReplyMsg((struct Message*)&MojKomunikat);
ReplyMsg(&MojKomunikat.Message);
@dolek, post #1
@Krashan, post #3
@Krashan, post #2
struct MyMessage MojKomunikat;
MojKomunikat.mn_Node.ln_Type=NT_MESSAGE;
struct MyMessage *MojKomunikat;
MojKomunikat->mn_Node->ln_Type=NT_MESSAGE;
@dolek, post #5
ad. 4) To znaczy, że jak deklaruję zmienną w ten sposób:
struct MyMessage MojKomunikat;
to stosuję:
MojKomunikat.mn_Node.ln_Type=NT_MESSAGE;
a jak bym zrobił to w ten sposób:
struct MyMessage *MojKomunikat;
to musiałbym się odwoływać w taki sposób:
MojKomunikat->mn_Node->ln_Type=NT_MESSAGE;
Dobrze zrozumiałem?
MojKomunikat->mn_Node.ln_Type = NT_MESSAGE;
struct Message { struct Node mn_Node; .... };
@dolek, post #4
Miałoby to działać tak, że byłby dodatkowy program serwer z jednej strony obsługujący dwukierunkową komunikację przez port szeregowy a z drugiej strony obsługujący dwukierunkową komunikacjęSprawa by się rypła w momencie gdyby ktoś uruchomił inną (niezależną od Twojej) aplikację również używającą portu szeregowego.
@Krashan, post #10