%umessage wird nicht zurück gesetzt?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Mir ist aufgefallen, dass Usermessages nicht mehr zurück gesetzt werden. So passiert es jetzt, dass Abfragen für solche Messages immer und immer wieder ausgelöst werden. Das war in früheren XProfan-Versionen nicht so.
    Hier ein simples Beispiel:


  • Halo Frank,


    ich hab mir das mal gerade angesehen. Wie es früher war weiß ich nicht.
    Da Du ja schon sehr lange dabei bist glaube ich hast Du schon sehr viel
    damit gearbeitet.
    Ich benutze diese Routine nur um das Schließen des Hauptfensters abzufragen.
    Das Funktioniert ganz gut.





    Wer ein Problem erkennt, und nichts zu seiner Beseitigung unternimmt, der ist möglicherweise ein Teil dieses Problems.:D

  • Frank
    Stimmt. Ich wollte sogar mal testweise die Usermessage entfernen und es geht nicht so wie es in der Hilfe beschrieben steht:

    ****************************************
    Freeware, Codes für XProfan, XProfanhelfer alles bei:
    http://rokosoft.de
    ****************************************

  • Ausserdem ist ein Fehler unter #28.5 in der Hilfe (hier fett):

    Zitat

    UserMessages -1000,1002


    Die UserMessage -1000 wird entfernt und ie Message 1000 neu hinzugefügt.

    ****************************************
    Freeware, Codes für XProfan, XProfanhelfer alles bei:
    http://rokosoft.de
    ****************************************

  • Stimmt, Rolf. Bin ich vorhin auch drüber gestolpert.


    roland: Ich hätte dich ja angeskyped, aber du bist die letzten Tage dort nicht erreichbar, weil immer "beschäftigt". ;)


    sascha: Dort macht der Fehler sich wohl nicht bemerkbar, weil danach eh das Programmende erfolgt. Ausserdem wird eine System-Message gesendet, keine User-Message. Du biegst nur von System auf User um... ;)


    Ich vermute, Roland hat nur vergessen, %umessage nach Gebrauch zurück zu setzen. Denn die Message kommt nicht wirklich immer wieder an...

  • Zitat von Frabbing;680751

    ...Das war in früheren XProfan-Versionen nicht so.


    In meiner älteren Profanversion wird die Usermessage bereits durch das Waitinput "gekillt" - die Message kommt also in deinem Code bei mir nie bei der IF Abfrage an. Wenn sich das geändert hat, ist das also eher eine Verbesserung :-).
    Jedesmal aber eine Usermessage senden zu müssen, um eine andere zurückzusetzen, ist schon etwas blödsinnig - wäre ganz vernünftig, die Systemvariable direkt zurücksetzen zu können.

  • Zitat

    In meiner älteren Profanversion wird die Usermessage bereits durch das Waitinput "gekillt" - die Message kommt also in deinem Code bei mir nie bei der IF Abfrage an. Wenn sich das geändert hat, ist das also eher eine Verbesserung :-).


    Auf jeden Fall. :-)


    Zitat

    Jedesmal aber eine Usermessage senden zu müssen, um eine andere zurückzusetzen, ist schon etwas blödsinnig - wäre ganz vernünftig, die Systemvariable direkt zurücksetzen zu können.


    Genau, deswegen ja auch der Titel des Threads. ;)

  • Das Problem war leider schon ein paar Male "aufgetaucht" - auf die Schnelle habe ich diesen [...] Thread hier gefunden von Jörg und mir persönlich war es wegen dieser [...] scrollarea.pcu* negativ aufgefallen. Daraus wurde die usermessages.pcu* weil ich eben ohne diesen "Fehler" arbeiten wollte und das ging auch eine Weile gut.


    Ich wusste nicht, dass der Bug nicht bereits (schon längst?) behoben war. :oops:


    *) Mittlerweile sind beide Units veraltet und von entsprechenden Includes abgelöst.


    "Workaround":


    Code
    [URL='http://xprofan.com/faq.mx?setTimer']setTimer[/URL] 33
    [URL='http://xprofan.com/faq.mx?while']while[/URL] %[URL='http://xprofan.com/faq.mx?uMessage']uMessage[/URL]
    [URL='http://xprofan.com/faq.mx?waitInput']waitInput[/URL][URL='http://xprofan.com/faq.mx?case']
    case[/URL] %[URL='http://xprofan.com/faq.mx?wmTimer']wmTimer[/URL]:[URL='http://xprofan.com/faq.mx?break']break[/URL][URL='http://xprofan.com/faq.mx?wend']
    wend[/URL]
    [URL='http://xprofan.com/faq.mx?killtimer']killtimer[/URL]
  • Das sollte meiner Meinung nach unbedingt in der nächsten Version behoben sein!!:| Ich bin auch schon darübergestolpert, habe einen ähnlichen Workaround und dachte nur ich hab was verpeilt.:D

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Hallo,


    zu Beginn des Waitinputs wird der aktuelle Wert von %UserMessage zurückgesetzt, aber da die UserMessages ja auf vielfachen Wunsch gestackt werden, ist da halt schon die nächste in den Startlöchern.


    Vielleicht sollte ich eine Möglichkeit schaffen, diesen Stack bei Bedarf zu löschen. Vielleicht fällt mir noch eine passende Syntax dazu ein ...


    Gruß
    Roland


    Nachsatz: Gerade sehe ich, dass ich da schon was verbessert habe. In bestimmten Situationen konnte die Rücksetzung tatsächlich "übersehen" werden.XProfan 11.2 wird bald kommen! Natürlich als kostenloses Update für alle Besitzer von XProfan 11.0 oder 11.1.

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • :super02:


    Jetzt dürfen wir nur nicht drängeln.:D

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Roland hat bestätigt, dass das im kommenden XProfan 11.2 gefixt ist.:D


    Roland du bist der Beste!

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Zitat von Frabbing;684866

    Die neuen Menü-Icons funktionieren ebenfalls, wenn ich auch finde, der Text wird zu dicht an die Icons gesetzt. Aber das kann ja jederzeit mit 2-3 Leerzeichen geändert werden. ;)


    LOL, genau das wollte ich gerade schreiben.:D

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Und bei Submenü ohne Eintrag mit Tabulator (sprich, die Breite des Menüeintrags entspricht der Breite des Textes plus ">") wird das ">" übermalt; da muss man momentan auch noch Leerzeichen einfügen. Vielleicht lässt sich da auch was machen.:|

    XProfan-Semiprofi (XProfan X4a+XPIA+LemonEd)
    Ryzen 5800X/Gigabyte B550m DS3H/32GB RAM@3600MHz/Radeon HD7770 OC/Asus Xonar SE/108TB HDD+512GB Samsung 980 Pro+2TB Crucial SSD/28" Samsung 4k
    TerraMaster F4-421 mit 28TB
    XBox Classic/360S/Series X/PS3 Super Slim 500GB/PS4 Pro (XBL-ID: jacdelad, PSN: jacdelad84)
    OnePlus 6 8GB/256GB
    jacdelad.bplaced.net

  • Zitat von Frabbing;684866

    Die neuen Menü-Icons funktionieren ebenfalls, wenn ich auch finde, der Text wird zu dicht an die Icons gesetzt. Aber das kann ja jederzeit mit 2-3 Leerzeichen geändert werden. ;)


    Ja, das ist Absicht, damit sie kompatibel zum Standardmenü sind. Wenn Du die Farben nicht mit den Set-Funktionen veränderst, sondern einfach nur den zusätzlichen Parameter für die Icons nutzt, passt es zusammen. Für XProfan 12 wird es sicherlich weitere Einstellmöglichkeiten geben.


    Gruß
    Roland

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Hm, ..., ich glaubte dieses zu berücksichtigen. Offensichtlich habe ich da was übersehen. Da ich den vom System eingestellten Font nutze, ging ich davon aus, dass GetTextExtentPoint32(DC,Addr(ItemText),Length(ItemText),ISize) genau diesen berücksichtigt, da er ja wohl dem DC zugewiesen ist; schließlich wird er beim Zeichnen des Textes auch genutzt. Muß da wohl noch etwas forschen ...

    (Intel Duo E8400 3,0 GHz / 4 GB RAM / 250 GB HDD / ATI Radeon HD4770 512 MB / Windows Vista - ausgemustert zum Verkauf)
    AMD Athlon II X2 2,9 GHz / 8 GB RAM / 500 + 1000 GB HDD / ATI Radeon 3000 (onboard) / Windows 10(64) - XProfan X4


    http://www.xprofan.de

  • Zitat

    Da ich den vom System eingestellten Font nutze, ging ich davon aus, dass GetTextExtentPoint32(DC,Addr(ItemText),Length(Item Text),ISize) genau diesen berücksichtigt, da er ja wohl dem DC zugewiesen ist; schließlich wird er beim Zeichnen des Textes auch genutzt.

    Darüber bin ich auch schonmal gestolpert. Ich weiß momentan aber nicht mehr genau, wie ich das dann gelöst hatte. Meine, das hatte was mit dem Mapping-Mode zu tun und mit der benutzten Schriftart.


    Eine Notlösung wäre noch DrawText mit Flag DT_CALCRECT... :cool: