Français
Forum

SubClassing: Unterschiede dans Interpreter et Exe

 

E.T.
mon folgendes Beispiel reagiert dans qui .exe anders comme im Interpreter:
Interpreter : 
je peux avec qui Tab-bouton de einem Éditer zum anderen hüpfen, sans cela irgendwas passiert. viens je dans Éditer 1 à, wird qui le calendrier aktiv, verlasse je cet, wird qui le calendrier wieder deaktiviert. je peux alors im Éditer 1 den le calendrier Vous pouvez, et cela date (welches angeklickt wurde), wird übernommen (alors ins SubClassProc gerannt, Menu 15000 gesetzt, cela ensuite ausgewertet).
Freu, so veux je es avons !!

dans qui Exe 
chaque la fois, si qui le calendrier aktiviert wird (alors Concentrer dans Éditer 1) wird ins SubclassProc gerannt et Menu 15000 gesetzt (alors aussi juste am Start, weil oui qui Concentrer dans Éditer 1 ist).
Beim désactiver des Kalenders (Concentrer ausserhalb Éditer 1) wird nochmal ins SubClassProc gerannt et cela Event ausgelöst.
Stoffwechselendprodukt !!

suis pour chacun concept reconnaissant !! 
KompilierenMarqueSéparation
Declare Element&[], Kalender&, Ende%

SubClassProc

    If SubClassMessage(Kalender& , 15)Tag angeklickt

        messagebox(Im SubClassProc,Info,64)...zur Information
        SetMenuItem 15000
        Set(WinProc, 1)

    EndIf

EndProc

Proc Check_Element

    If @GetFocus(Element&[1])

        EnableWindow Kalender&,1

    Else

        EnableWindow Kalender&,0

    EndIF

EndProc

Proc Kal_GetDate

    Declare Datum#
    dim Datum#,20
    SendMessage(Kalender&,4097,0,Datum#)
    Var Zurück$ = format$(00,word(Datum#,6))+.+format$(00,word(Datum#,2))+.+format$(0000,word(Datum#,0))
    Dispose Datum#
    Return Zurück$

ENDPROC

Window 800,600
Kalender&=Control(SysMonthCal32,Kalender,$50000000,600,0,180,height(%HWnd),%HWnd,5000,%hinstance,0)
EnableWindow Kalender&,0
Element&[0] = @Control(Dialog,,$54000000 | $00800000,0,0,400,height(%HWnd),%HWnd,5001,%HInstance,$10000)
Element&[1] = @Create(Edit,Element&[0],,10,10,200,20)
Element&[2] = @Create(Edit,Element&[0],,10,50,200,20)
Element&[3] = @Create(Edit,Element&[0],,10,100,200,20)
Element&[4] = @Create(Edit,Element&[0],,10,150,200,20)
SetFocus(Element&[1])
SubClass Kalender&,1

WhileNot Ende%

    Check_Element
    Waitinput

    If %Key = 2

        Ende% = 1

    ElseIf @MenuItem(15000)

        SetText Element&[1],Kal_GetDate()

    EndIf

EndWhile

SubClass Kalender&,0
ass=s4 href='./../../funktionsreferenzen/XProfan/end/'>end

Nachtrag: Wieso volonté überhaupt im Subclassproc qui Messages verdreht, qui le calendrier löst %Message=32 aus, seulement pas im Subclassproc ???
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
28.12.2008  
 




Andreas
Miethe


IDEE !
KompilierenMarqueSéparation
Declare Element&[], Kalender&, Ende%

SubClassProc

    If SubClassMessage(Kalender& , 15) & GetFocus(Element&[1])Tag angeklickt

        SetMenuItem 15000
        Set(WinProc,1)

    EndIf

EndProc

Proc Kal_GetDate

    Declare Datum#
    dim Datum#,20
    SendMessage(Kalender&,4097,0,Datum#)
    Var Zurück$ = format$(00,word(Datum#,6))+.+format$(00,word(Datum#,2))+.+format$(0000,word(Datum#,0))
    Dispose Datum#
    Return Zurück$

ENDPROC

Window 800,600
Kalender&=Control(SysMonthCal32,Kalender,$50000000,600,0,180,height(%HWnd),%HWnd,5000,%hinstance,0)
Element&[0] = @Control(Dialog,,$54000000 | $00800000,0,0,400,height(%HWnd),%HWnd,5001,%HInstance,$10000)
Element&[1] = @Create(Edit,Element&[0],,10,10,200,20)
Element&[2] = @Create(Edit,Element&[0],,10,50,200,20)
Element&[3] = @Create(Edit,Element&[0],,10,100,200,20)
Element&[4] = @Create(Edit,Element&[0],,10,150,200,20)
SetFocus(Element&[1])
SubClass Kalender&,1

WhileNot Ende%

    Waitinput

    If %Key = 2

        Ende% = 1

    ElseIf @MenuItem(15000)

        SetText Element&[1],Kal_GetDate()
        SetFocus(Element&[1])

    EndIf

EndWhile

SubClass Kalender&,0
./../funktionsreferenzen/XProfan/end/'>end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
28.12.2008  
 




E.T.
@Andreas: merci. maintenant wird mais qui le calendrier pas plus deaktiviert
chez mir im richtigen Proc ist cela important, là volonté aussi encore div. Buttons et menu-Eintrage disabled.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
28.12.2008  
 




Sascha
Oliver
Haak
dans Deinem Code habe Je l' Concentrer de Element&[1] pris.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> changement
Proc Check_Element
Si @GetFocus(Element&[1])
EnableWindow Kalender&,1
D'autre
EnableWindow Kalender&,0
@SetFocus(Element&[2]) Concentrer de Element&[1] weg prendre
EndIF
ENDPROC
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Ende ändern
Habe aussi IDEE gehabt.!

Wenns passt voilà!

Salut
Sascha
 
28.12.2008  
 




E.T.
@Sascha: , seulement sagt mir mon Logik, cela alles, quoi derrière dem D'autre  steht, sowieso fonctionnement wird, si qui Concentrer pas sur [1] ist .
Votre Boucle bewirkt seulement le moi toujours dans [2] ankomme, si je pas dans [1] suis. alors viens je ensuite gar pas plus dans [3] et [4]...
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
28.12.2008  
 




Sascha
Oliver
Haak
OK la hâte oui droite. (Schnellschuß juste Kurzschluß!?!?!)

Solltest comme erstes dans Deiner Hauptroutine seulement waitinput et ensuite Check_Element durchführen.
Weil sonst qui Routine Check_Element den Concentrer tout de suite ermittelt.

Pour Übernahme des Datums hat cela Éditer champ keinen Concentrer plus et erhält cette chez erneutem
betreten.

Besser, chez mir klappt es eh bien!

Salut
Sascha
 
28.12.2008  
 




E.T.

Schnellschuß juste Kurzschluß!?!?!



cela löst mais alles cela Problem aus meinem Start-Posting pas:
Im Interpreter funktioniert alles, comment je es veux, seulement dans qui Exe pas.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
28.12.2008  
 




E.T.
WORKARROUND
je hab maintenant dans mon Prog simple la fois derrière cela Aktivieren / désactiver des Kalenders un sleep 10 gesetzt, et siehe là, maintenant funzt es aussi dans qui .exe.
dans meinem obigen Bsp. hab je cela ganze jusqu'à sleep 2000 getrieben, sans Wirkung (ggf. doch la fois 10.000 testen). je vermute la fois, im Interpreter fonctionne là einiges gewaltig langsamer ab, comme dans qui .Exe >>> Moment (dämmer...), irgendwo hab là doch la fois quoi gelesen, cela im Interpr. irgendwas alle 30 Zeilen gecheckt wird et dans qui .Exe chacun la ligne...nachschau (mais seulement heut Mittag).

[offtopic]So, maintenant vite encore nen seau café, ensuite veux un TraPo voller poste-Taschen im Holzäppelgebirge à qui Zusteller verteilt volonté (um cet Zeit meist avec douane-Kontrollen verbunden (bedingt par qui Nähe zur CZ, quelquefois fahr je direct sur qui frontière long) >> mais on gewöhnt sich à alles, et qui Jungens (et quelquefois aussi hübsche Mädels) faire oui aussi seulement Ihren Job). ensuite fix encore ne Runde dormir...et déjà peux qui journée am Mittag wieder commencer [/offtopic]
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
29.12.2008  
 




Frank
Abbing
Alle 20 Zeilen.
Hm, un Sleep 10 comme Workaround halte je toujours pour untauglich...
 
29.12.2008  
 




RGH
E.T.
Moment (dämmer...), irgendwo hab là doch la fois quoi gelesen, cela im Interpr. irgendwas alle 30 Zeilen gecheckt wird et dans qui .Exe chacun la ligne...nachschau (mais seulement heut Mittag).


renversé wird un Schuh draus: Im Interpreter wird (sauf im presque-Mode) pour chacun Zeil qui Messageloop aufgerufen, dans qui Runtime pour chacun 20. la ligne. Votre Prozeduren nutzen Messages, alors muss aussi cette Gelegenheit gegeben volonté anzukommen. dans diesem le cas ist cela Sleep(10) alors une korrekte Solution. (dans XProfan 11 pourrait stattdessen aussi cela undokumentierte WaitInput 1 verwandt volonté.)

Salut
Roland

Nachtrag: qui einfachste Solution habe je dabei naturellement übersehen: un Repaint pouvoir ici aussi cela, quoi qui nom vermuten peut, là aussi cette Befehl außerhalb des Fastmode une Messageloop auslöst.
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
29.12.2008  
 




Frank
Abbing

Votre Prozeduren nutzen Messages, alors muss aussi cette Gelegenheit gegeben volonté anzukommen. dans diesem le cas ist cela Sleep(10) alors une korrekte Solution.


SendMessage wartet, jusqu'à qui Message aussi arrivé ist. Sleep reagiert bisweilen unerwartet im Zusammenhang avec Messages, tout autor verwende je dans solchen Fällen:
KompilierenMarqueSéparation
 
29.12.2008  
 




RGH
Frank Abbing

Frank Abbing
Votre Prozeduren nutzen Messages, alors muss aussi cette Gelegenheit gegeben volonté anzukommen. dans diesem le cas ist cela Sleep(10) alors une korrekte Solution.


SendMessage wartet, jusqu'à qui Message aussi arrivé ist. Sleep reagiert bisweilen unerwartet im Zusammenhang avec Messages, tout autor verwende je dans solchen Fällen:
KompilierenMarqueSéparation


... quoi dem erwähnten Waitinput 1 entspricht.

oui, SendMessage wartet, im opposition trop Poster un message, jusqu'à qui Message arrivé ist. mais manche Message löst pour Quittierung weitere Messages aus, qui etwa zum Neuzeichnen de Controls appel. et qui attendre ensuite sur den prochain Messageloop.

Salut
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
29.12.2008  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.856 Views

Untitledvor 0 min.
Andre Rohland13.06.2019
Jens-Arne Reumschüssel30.12.2018
Jörg Sellmeyer15.05.2018
rquindt24.01.2018
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie