ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > AppWindow / AppMessage | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
07.08.2009, 18:39 Uhr AGSzabo Posts: 1663 Nutzer |
hi, für icon-drag n drop will ich mit AppWindows und AppMessages arbeiten. Dazu habe ich mein Fenster als AppWindow angemeldet und dabei den messageport des prozesses (der für alle fenster gillt) als Port für den Erhalt der AppMessages eingetragen. Jetzt ist es so, dass das Programm abstürzt sobald ich ein icon über das fenster loslasse. Ich weis nämlich nicht wie ich feststellen kann ob an meinem messageport nun eine AppMessage oder eine IntuiMessage ankommt. Und dann weis ich nicht, wie man aus der AppMessage den Dateinamen der reingezogenen datei raus bekommt. Muss ich für die Appmessages einen eigenen Port einrichten? Wie bekomme ich raus wie die datei heist und wo sie liegt? thx, Andreas -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110 [ - Antworten - Zitieren - Direktlink - ] |
07.08.2009, 20:04 Uhr thomas Posts: 7718 Nutzer |
Es ist einfacher, wenn man für unterschiedliche Messages auch unterschiedliche Ports macht. Aber es geht auch mit einem. Du mußt halt schauen, welche Felder der beiden Message-Typen übereinander liegen und gefahrlos abgefragt werden können. Normalerweise müßte es reichen, zuerst zu prüfen, ob es eine IntuiMessage ist (gültige Class) und dann ob es eine AppMessage ist (gültige am_Class). Die Icons bekommst du über am_Args. In am_NumArgs steht drin, wieviele Icons übergeben wurden und am_Args zeigt auf einen Array mit WBArgs. Ein WBArg besteht aus zwei Pointern, der erste ist ein Lock auf das Verzeichnis und der zweite zeigt auf den Dateinamen (ohne Pfad und ohne .info). Das ist das gleiche Prinzip wie bei der WBStart-Message. Eigentlich sollte man solche Dinge leicht erkennen, wenn man sich mal die Includes anschaut. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
07.08.2009, 20:10 Uhr AGSzabo Posts: 1663 Nutzer |
@thomas: >Eigentlich sollte man solche Dinge leicht erkennen, wenn man sich mal die Includes anschaut oh mann! immer wieder der selbe vorwurf. natürlich habe ich die docs gewälzt! aber danke für die hinweise! und ich nehme mal an der lock ist vom typ shared so dass ich ihn nicht freigeben muss. -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1 [ Dieser Beitrag wurde von AGSzabo am 07.08.2009 um 20:18 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
07.08.2009, 20:27 Uhr thomas Posts: 7718 Nutzer |
@AGSzabo:Zitat: Du darfst nie irgendetwas freigeben, was du nicht selbst allokiert hast ! Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 14:25 Uhr ZeroG Posts: 1487 Nutzer |
@AGSzabo: Warum guckst du dir eigendlich nicht die Beispiele für sowas an? Oder hast du nicht die RKMs? [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 15:37 Uhr AGSzabo Posts: 1663 Nutzer |
@ZeroG: Also langsam reicht es echt! Da opfert man sich auf um dem Amiga ein stück Kuchen zu verpassen und hat echt spass an der freude und fragen kostet nichts, da wird man dauernd zusammengepfiffen man soll doch die docs lesen! Was ist das blos für eine an den haaren herbeigezogene ausflucht! NATÜRLICH lese ich die docs! Ma findet halt nicht immer gleich alles und oft langt es auch nicht. ausserdem verstehe ich kaum C. ps: was ich hier rein frage ist blos die spitze des eisberges an problemen die mir passieren! von mir aus ein minimum. grüsse, Andreas -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110 [ Dieser Beitrag wurde von AGSzabo am 08.08.2009 um 17:09 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 16:54 Uhr AGSzabo Posts: 1663 Nutzer |
@thomas HI, jetzt stehe ich noch vor folgendem problem: wenn ich das icon ueber mein "hot area" ziehe, sollte sich der mauszeiger ändern. aber dazu muss wohl das fenster aktiv sein, das ist und wird es aber nicht während ich das icon ziehe! gibts da ne lösung? gruesserl, Andreas -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110 [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 18:38 Uhr ZeroG Posts: 1487 Nutzer |
@AGSzabo:Zitat:Ich hab dich nicht zusammengepfiffen (zumindest war es nicht so gemeint), aber im RKM steht im Abschnitt über AppWindow/AppMessage zeug nun mal: Zitat:Was in etwa genau das ist was thomas geantwortet hat, oder nicht? [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 19:26 Uhr AGSzabo Posts: 1663 Nutzer |
@ZeroG: ist ja schon gut. ich geb ruh und freue mich über jede unterstützung. -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110 [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 21:37 Uhr Bizcocho Posts: 15 Nutzer |
Hi alle zusammen. Ich gucke mir das auch schon eine Weile hier mit an und muß jetzt auch mal was loswerden. Ich finde es gut das AGSzabo eine Idee im Kopf hat und etwas programmieren will - sieht auch schon gut aus. Aber mir scheint das er vor einem Berg mit unentlichen Problemen steht. Jeden Tag fragt er neue Sachen - nun gut - ist auch richtig so. AGSzabo - nichts persönlich nehmen - was ist los? Hast du dir schon mal angeguckt wer dir mit Rat und Tat zu Seite steht? Wieviele Amiganer haben eine Antwort auf deine Probleme? Ich glaub Thomas ist weit vorne oder? Wenn er dir schon soviele Tips gibt, dann sei nicht so undankbar mit deinen Antworten. Wenn die Quelle versiegt, dann ist Ebbe. Guck mal ein bisschen im Aminet. Es gibt da viele Beispiele in Assembler - auch für dein letztes Problem. Warum guckst du dir nicht dein Programm im Debugger an? Ich benutze z.B. den MaxonASM, toll in Echtzeit, dann kannst du sehen was alles so schönes passiert. Sprich mit Sicherheit findest du auch den Fehler warum dein Programm abstürzt. Versuch doch mal folgendes: Bastel dir ein Intuifenster in der WB - ohne spielerein - , richte dir dein AppFenster ein, frag es ab, ziehe ein Icon rüber und kehre normal zur WB zurück - bei richtiger Port Abfrage. Und das ganze bitte im Debugger - Schritt für Schritt - , damit du siehst was d0 und Konsorten machen. Wenn du damit Erfolg hast fügst du das Programm in dein bestehendes ein. Vielleicht so: movem.l d0-a6,-(a7) jsr App_Fenster movem.l (a7)+,d0-a6 .... .... bra Ende App_Fenster: ..... .... ..... rts Aber das weißt du ja sicherlich schon So, und jetzt alle auf mich!!! [ - Antworten - Zitieren - Direktlink - ] |
08.08.2009, 22:04 Uhr AGSzabo Posts: 1663 Nutzer |
@Bizcocho: vorweg: das appwindow funktioniert jetzt. :-) also: erstmal, es tut mir leid! ich kann nicht gut mit menschen ungehen. und dann: ich finde nicht dass meine antworten undankbar sind. im gegenteil, ich schreibe immer wieder "danke" mit dazu und wer will wird ja in meinem readme genannt. thomas macht wirklich toll. seine HP ist gut. blos dauernd dieses "lies nach" von anderen ist so zu verstehen dass ich durch meine vielen fragen ärger erwecke? das möchte ich natürlich nicht und wenns trotzdsem so ist, schreibt man das eben direkt hin oder schreibt garnix. das wäre toll. danke, Andreas ps: schön dass dir xui gefällt... :-) pps: ich kann nur immer wieder betonen wie gut es ist dass hier so eine populäre amigainsel herrscht. es ist schön zu sehen dass es gleichgesinnte gibt die auch was drauf haben! -- Sam os4.1, e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110 [ Dieser Beitrag wurde von AGSzabo am 08.08.2009 um 22:10 Uhr geändert. ] [ Dieser Beitrag wurde von AGSzabo am 08.08.2009 um 22:12 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > AppWindow / AppMessage | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |