| |
|
|
Jörg Sellmeyer | qui Copyrightmeldung sous MenuItem 254 verhält sich quelque chose nervig.
Im Interpreter peut vous sich oui pas unterdrücken; im compilé Programme déjà. malheureusement scheint qui annonce mais pas mittels einer normalen Messagebox aufzupoppen. ici est un Code (je glaub de Andreas Miethe), qui cela veranschaulicht. si on ihn im Interpreter ausführt et sur cela CR-marque klickt, wimmelt es bientôt de Messageboxen. avant dem Testen alors s'il te plaît entsprechende Vorsichtsmaßnahmen ergreifen. cela Programme peut sich ensuite aussi sur den Taskmanager pas simple abschießen, là qui Messageboxen qui "Abschussfreigabe" überdecken!
Im compilé Zustand wird ensuite qui normale Massagebox aufgerufen et cela Programme zeigt oui c'est ca 1x qui Messagebox à et qui Minuteur fonctionne plus.
c'est peut-être un quelque chose spezieller le cas mais trozdem sollte cela so pas auftreten.
DEF SetATimer(4) !"User32","SetTimer"
DEF KillATimer(2) !"User32","KillTimer"
DEF GetTimeFormat(6) !"KERNEL32","GetTimeFormatA"
Proc timerproc
Déclarer text$
text$=Space$(20)
GetTimeFormat(0,0,0,0,Addr(text$),20)
text$="Uhrzeit: "+text$
SetText %hwnd,text$
ENDPROC
Cls
SetATimer(%hwnd,1,200,ProcAddr("timerproc",0))
Tandis que 1
WaitInput
locate 1,1
Imprimer &Boucle,Tour(100000),"hier peux on beliebig klicken et qui montre fonctionne weiter"
Si MenuItem(254)
Cas MessageBox("Wirklich?","Beenden?",4) = 6:Pause
EndIf
Endwhile
Imprimer "\nDemo Ende."
Waitinput
KillATimer(%hwnd,1)
Fin
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 14.06.2018 ▲ |
|
|
|
|
Georg Teles | un ähnliches Problem habe je Schonmal dans liaison avec Hotkeys gehabt (beim Auslösen wurde qui Aktion endlos wiederholt), peux justement ne...aucune Beispiel trouver, c'est une Weile her, suis pas sûrement mais cela hatte également avec ProcAddr zutun dans liaison avec Profan internem Minuteur. |
|
|
| |
|
|
|
| je peux seulement (toujours wieder) en supplément deviner, aucun asynchronen Calls sur per procAddr-bezogene Funktionen "generieren" trop laisser etwa per setTimer o.Ä.
ca allez avec nProcs wiederum absolu problemlos, procs cependant sommes pour simple pas gemacht/ geeinet. |
|
|
| |
|
|
|
Jörg Sellmeyer | quoi ist chez cette nProcs anders, dass es funktioniert? Würde es avec ASM-Funktionen sous X14 aller? |
|
|
| |
|
|
|
| Jörg Sellmeyer (18.06.2018)
quoi ist chez cette nProcs anders, dass es funktioniert?
XProfan-Funktionen sommes (im ggs. trop nProcs) aucun gewöhnlichen Funktionen avec Funktionsadresse, qui den pour une native Funktion habituel Opcode besitzt.
XProfansche Prozeduradressen montrer pas sur Funktionen, qui à cause de qui Art et Weise Rolands Implementation de ProcAddr asynchron zum XProfan-Programmablauf aufgerufen/ injiziert volonté dürfen. ils sont pour programmablaufsynchrone Enumeration approprié.
Dabei pourrait Roland durchaus ProcAddr dahingehend la fois améliorer et den Interpreter dans une eigenen Fil-Context passer sodass asynchrone Aufrufe im Hauptthread attendre könnten jusqu'à qui Interpreter "onidle" ist et ihn ensuite beschäftigen. sûrement viel travail cela Hauptprogramm dans un Proc trop stopfen mais ensuite wäre ProcAddr enfin "sicher".
Es enstehen besonders Probleme chez rekursiven Aufrufen, womit hierbei seulement déjà Aufrufe ausreichen qui plan öfter/ plus rapide geschehen comme qui vorherige Aufruf à Zeit nécessaire.
c'est pourquoi z.B. qui GWL_WNDPROC pas sur une XProfan-Prozeduradresse mettons, mais wiederum qui EnumPrinters-Funktion.
c'est pourquoi peux Du aussi avec CreateThread keinen Fil avec einer XProfan-Prozeduradresse erzeugen, mais avec einer nProc.
Jörg Sellmeyer (18.06.2018)
Würde es avec ASM-Funktionen sous X14 aller?
si avec XProfan qui Funktionsadresse dans den Prozess comme Opcode geladener Inline-ASM-Programmabschnitte ermittelbar ist, ensuite peux on à cette Stelle den ASM "absturzsicher" formulieren et oui c'est ca cet Adresse comme Funktionsadresse verwenden/ angeben aussi z.B. pour CreateThread.
Habe qui aktuelle Aider de XProfan X4 [...] gesichtet:
Jörg Sellmeyer (18.06.2018)
avec qui neuen Funktion fAddr(nom) peux qui Start-Adresse einer importierten Funktion, alors aussi einer Assemblerfunktion, ermittelt volonté. Existiert cet Funktion pas, ist là Ergebnis 0.
après pourrait es marcher! |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| |
|
|
|
H.Brill | Ist zwar déjà quelque chose länger her. Habe mais quand même, weil je es justement brauchte, heraus trouvé :
si on im Reshacker la fois sous Menu schaut, findet on den Menüpunkt pour cela Copyright.
allez sowohl im Interpreter comme aussi im fertigen Programme. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 14.09.2022 ▲ |
|
|
|