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

amiga-news.de Forum > Programmierung > zeiger auf globale an prozess übergeben [ - Search - New posts - Register - Login - ]

1 -2- [ - Post reply - ]

2009-11-18, 18:29 h

AGSzabo
Posts: 1663
User
@Holger:

>Ja, das hast Du schon mal geschrieben.

thore hat mich nochmal anders gefragt.

>Soll das Hauptprogramm nichts tun außer auf den Subprozess warten, das heißt soll das GUI des Hauptprogramms blockiert sein, oder nicht?

ich sehe mir beide varianten an und entscheide mich.

im moment ist es so programmiert, dass der filerequester sofort zurückkehrt und aber sein fenster offen lässt für eingaben, wobei im falle des clicks auf OK der OK-hook des hauptprogramms aufgerufen wird. das rechstlich gui bleibt dabei bedienbar und ich müsste mir überlegen welche buttons ich ghosten muss während der requester offen ist und so...

die alternative wäre, die version wo der hauptprozess auf den unterprozess wartet...
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ - Answer - Quote - Direct link - ]

2009-11-19, 11:18 h

Holger
Posts: 8116
User
Zitat:
Original von AGSzabo:
Zitat:
Soll das Hauptprogramm nichts tun außer auf den Subprozess warten, das heißt soll das GUI des Hauptprogramms blockiert sein, oder nicht?
ich sehe mir beide varianten an und entscheide mich.
Tja, aber für beide Varianten ist ein zweiter Prozess vollkommen unnötig.
Es gibt auch andere Programme, die mehr als ein Fenster öffnen. Ist also nicht so schwer. Und wenn Du Dich entscheidest, die Events für eines der beiden Fenster nicht zu bearbeiten, brauchst Du dafür keinen extra Prozess.

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Answer - Quote - Direct link - ]

2009-11-19, 11:28 h

Thore
Posts: 2266
User
@AGSzabo:
Im Grunde nur den Pointer auf den Context müsste übergeben werden.
Aber wie gesagt, das wäre nur eine Möglichkeit wenn es abstrakt wird.

Da wir nicht konkret wissen, was genau Du möchtest, können wir nur die Möglichkeiten aufzählen.

[ - Answer - Quote - Direct link - ]

2009-11-19, 11:30 h

Thore
Posts: 2266
User
Zitat:
> und ich müsste mir überlegen welche buttons ich ghosten muss während der requester offen ist und so...
Per Signal und/oder Context oder Semaphore handlebar... im Grunde mit jeder der vorgeschlagenen Möglichkeit =)

[ - Answer - Quote - Direct link - ]

2009-11-19, 12:45 h

AGSzabo
Posts: 1663
User
@Thore:

>Da wir nicht konkret wissen, was genau Du möchtest, können wir nur die Möglichkeiten aufzählen.

schon zweimal geschrieben: einen filerequester. im moment benutze ich asl aber es interessiert mich wie man sowas macht.
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 19.11.2009 um 12:55 Uhr geändert. ]

[ - Answer - Quote - Direct link - ]

2009-11-19, 13:14 h

Thore
Posts: 2266
User
> im moment benutze ich asl aber es interessiert mich wie man sowas macht.

Bei ASL ist es ein LibCall. Der Aufrufer wartet bis die Library aus dem Einsprung zurückkehrt.

[ - Answer - Quote - Direct link - ]

2009-11-19, 13:40 h

AGSzabo
Posts: 1663
User
@Thore:

in meinem fall wäre es dann eine DoMethod(*requesterobject, oxFReqM_select)
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ - Answer - Quote - Direct link - ]

2009-11-19, 14:35 h

thomas
Posts: 7718
User
Zitat:
Original von Thore:
Bei ASL ist es ein LibCall. Der Aufrufer wartet bis die Library aus dem Einsprung zurückkehrt.


Man kann trotzdem parallel die GUI am Leben halten, ohne einen eigenen Prozess zu starten, indem man die ASLFR_IntuiMsgFunc benutzt.

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Answer - Quote - Direct link - ]

2009-11-19, 14:59 h

AGSzabo
Posts: 1663
User
@thomas:

>ASLFR_IntuiMsgFunc

eh, wat it dat denn? bzw wie funzt es?
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ - Answer - Quote - Direct link - ]

2009-11-19, 15:10 h

tboeckel
Posts: 124
User
Zitat:
Original von AGSzabo:
@thomas:

>ASLFR_IntuiMsgFunc

eh, wat it dat denn? bzw wie funzt es?


Möchtest du jetzt, daß dir jemand die AutoDocs wie eine Gute-Nacht-Geschichte vorliest, oder kannst du das noch selbst?

[ - Answer - Quote - Direct link - ]

2009-11-19, 15:17 h

AGSzabo
Posts: 1663
User
@tboeckel:

das hatte ich schon gelesen. manchmal ist es aber besser das selbe aus dem mund eines experten nochmal zu hören. dabei gibts erfahrungsgemäß immer neue details und lückenstopfer.

ASLFR_IntuiMsgFunc (struct Hook *) - A function to call whenever an unknown Intuition message arrives at the message port being used by the requesting window. The function receives the following parameters:
A0 - (struct Hook *)
A1 - (struct IntuiMessage *)
A2 - (struct FileRequester *)

interessant wäre es hierbei, woher asl erkennt dass es ich um _Seine_ msgs oder nicht handelt. und da tippe ich mal auf den fenster-zeiger als entscheinungskriterium.
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 19.11.2009 um 15:17 Uhr geändert. ]

[ - Answer - Quote - Direct link - ]

2009-11-19, 15:54 h

tboeckel
Posts: 124
User
Zitat:
Original von AGSzabo:
interessant wäre es hierbei, woher asl erkennt dass es ich um _Seine_ msgs oder nicht handelt. und da tippe ich mal auf den fenster-zeiger als entscheinungskriterium.


Es ist doch mal sch**ßegal woran ASL das erkennt. Warum interessieren dich solche Interna? Das wichtige ist doch, daß der Hook für jede ASL unbekannte Nachricht aufgerufen wird.

Aber ja, sehr wahrscheinlich nutzt ASL IntuiMessage->IAddress und IntuiMessage->IDCMPWindow zur Unterscheidung. So wie jeder andere das auch machen sollte.

Ganz generell sollte es dich überhaupt nicht interessieren woran das System bestimmte Sachen erkennt oder wie es sie realisiert. Das führt nur zu wilden Spekulationen, die vielleicht für genau eine Version des Systems stimmten könnten. Die nächste Version kann es ganz anders machen, und wenn du dich auf diese falschen Annahmen verläßt, dann knallt es. Nutz die dokumentierten Informationen und laß die Finger von den undokumentierten Möchtegernfakten, die irgendwelche Leute mal durch stumpfes Rumprobieren rausgefunden haben. Je weniger man über die absichtlich nicht dokumentierten Sachen weiß, umso leichter können die Systementwickler eventuelle Probleme "hinter dem Vorhang" beheben, ohne dadurch inkompatibel werden zu müssen.

[ - Answer - Quote - Direct link - ]

2009-11-19, 16:01 h

AGSzabo
Posts: 1663
User
@tboeckel:

ich habe es schon mehrfach geschrieben: mein interesse an den internas gillt NICHT dem zweck zu hacken sondern um ideen und anregungen zu bekommen wie ich es selber machen könnte.
--
Sam mini os4.1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ - Answer - Quote - Direct link - ]

2009-11-19, 21:41 h

Thore
Posts: 2266
User
Wenn die IntuiMsg aktiviert sind werden "ganz normal" Messages gesendet für den Message Handler... wie auch schon mehrmals angeboten wurde.

[ - Answer - Quote - Direct link - ]


1 -2- [ - Post reply - ]


amiga-news.de Forum > Programmierung > zeiger auf globale an prozess übergeben [ - Search - New posts - Register - Login - ]


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