| |
|
|
Jac de Lad | quelque chose dans qui Aider pouvoir mir Kopfzerbrechen:
qui Callback-Funktionen peut 0 jusqu'à 5 paramètre (alle 32 Bit) avons et une 32-Bit-Wert zurückliefern. Pour chacun Parameterzahl peux es derzeit maximum 5 Callbackfunktionen donner. cela pourrait sur alle Fälle ausreichend son.et si es doch pas ausreicht, peux on une benutzen Callback-place aussi wieder freigeben, indem on avant qui Parameterzahl un - mets:
ProcAddr(Fontliste,-4)
quoi bedeutet cela? Dass je qui Prozeduren wieder freigeben muss? Hat quelqu'un un sinnvolles Beispiel avec ner sinnvollen Anwendung?
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 01.10.2006 ▲ |
|
|
|
|
Michael Wodrich | cela est schlicht, cela qui Programmzeiger, den Du zugewiesen hattest après pas plus aufgerufen wird. Du schaltest cette Callback alors aus et peux avec cela ensuite une autre Proedur appel.
si qui Callback-Procédure cela ganze Programme hindurch courir soll, ensuite ist cela naturellement pas sinnvoll. il y a mais dans qui API Callbacks qui zB zum Zählen de Fonts aufgerufen volonté (pour jeden Font un la fois). si alles durchgenudelt ist, ensuite peux cette Callback wieder recyclet volonté.
belle Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 02.10.2006 ▲ |
|
|
|
|
Jac de Lad | j'ai cela malheureusement toujours pas verstanden..verändern sich qui aiguille beim courir des Programms? Haste peut-être un Beispiel avec ner sinnvollen Anwendung de ProcAddr(Procédure,-4) (alors, wohin qui Negativwert une rôle écoutes)? |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 02.10.2006 ▲ |
|
|
|
|
| je versuche mich la fois tour - hoffe, Roland verbessert mich, si je là Mist discours: Profan erzeugt pour dem compilieren aus deinem Voir le texte source keinen Maschinencode, mais traduit den verschlüsselten Voir le texte source simple seulement et führt ensuite cela aus, quoi là steht. Dein Voir le texte source ist quasi comment un livre, dans dem Profan liest et ensuite à certain Hebeln zieht um quelque chose dans Windows trop bewirken. Nativer Voir le texte source zieht dagegen direct à den Hebeln.
un Callback soll direct une Hebel dans couloir mettons, là Proan mais seulement nachschlagen et traduire doit, allez cela eigentlich gar pas. quoi wird alors wohl Profan chez qui Funktion ProcAddr faire? Es übergiebt quasi qui Adresse einer Funktion, qui aus dem livre une Quelltextabschnitt ließt. avec cela cet Funktion mais sais, wohin vous im livre quelle Quelltextseite aufschlagen doit, doit cela irgendwo abgespeichert volonté - quoi abgespeichert wird, braucht mais place. Ausreichend place zum Abspeichern ist pour 5Callbackfunktionen (pro Parameterzahl) là, là liegt cela Problem. |
|
|
| |
|
|
|
| et ici la fois qui verlangte Voir le texte source: KompilierenMarqueSéparationDEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID"
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
Def @SetTimer(4) !"USER32","SetTimer"
Def @KillTimer(2) !"USER32","KillTimer"
Declare Timer_WIN&,Button&,Zähler%,TIMER_ID&,PRO_ID&
Windowstyle 31+512
Windowtitle "Selbständig laufende Programmschleife"
Window 0,0-640,440
Usermessages $10
LET TIMER_WIN&=@Control("Static","TIMER_WIN",$8000000,0,0,0,0,%Desktop,9998,%HINSTANCE,$4)
Let Button&=@createbutton(%HWND,"",20,100,300,30)
LET TIMER_ID&=@SetTimer(TIMER_WIN&,9999,1500,@ProcAddr("TimerProc1",4))
While %UMESSAGE<>$10
Waitinput
IF @ButtonClicked(Button&)
IF PRO_ID&=1
@ProcAddr("TimerProc1",-4)
@ProcAddr("TimerProc2",4)
ELseif PRO_ID&=2
@ProcAddr("TimerProc2",-4)
@ProcAddr("TimerProc1",4)
Endif
endif
wend
@KiLLTIMER(TIMER_WIN&,TIMER_ID&)
end
Proc TimerProc1
Parameters ahhwnd&,ahuMsg&,ahidEvent&,ahdwTime&
LET PRO_ID&=1
Settext Button&,"Von Proc 1 gesetzt!"
Endproc
Proc TimerProc2
Parameters ahhwnd&,ahuMsg&,ahidEvent&,ahdwTime&
LET PRO_ID&=2
Settext Button&,"Von Proc 2 gesetzt!"
ENDPROC
|
|
|
| |
|
|