Español
C ++ Foro

Zugriffsverletzungen en Callbacks encima TIimer...

 
- Página 1 -


¡Hola Sebastian...

Lo va en folgenden Ver código fuente de [...]  Hilo:
KompilierenMarcaSeparación
Testprogramm Timer
Profan Version 9
 $H Windows.ph
-Proc Einstellungen

Proc Einstellungen

    Declare hD%, hA%, hB%, OK%, hTime%
    Declare hF1%, hT1%
    Clear OK%
    Dialogfenster erzeugen
    hD% = @Create("Dialog",%hWnd,"Einstellungen",%WinLeft+80,%WinTop+155,230,190)
    hF1% = @Create("Font","Arial",16,0,0,0,0)
    hT1% = @Create("Text",hD%,"Einstellungen...",10,10,220,20)
    SetFont hT1%,hF1%
    hTime% = @Create("TimeEdit", hD%, "00:00:00", 10, 35, 70, 24)
    hB% = @Create("Button",hD%,"&Nachstellen",10,120,100,28)
    hA% = @Create("Button",hD%,"&Abbrechen",120,120,100,28)

    WhileNot Ok%

        WaitInput

        If @Clicked(hB%)  Nachstellen

            Ok% = 1
            Aktionen hier

        ElseIf @Clicked(hA%) Abbrechen

            Ok% = 1

        ElseIf (%Key = 2) ALT+F4 bzw. schließen

            Ok% = 1

        EndIf

    EndWhile

    DeleteObject hF1%
    @DestroyWindow(hD%)

EndProc

-Prozedur die in bestimmten Zeitintervallen ausgefuehrt wird (4x pro Sekunde)

Proc Timer

    Inc Timer_Busy%
    Locate 5,5
    Print "Timer:" + @str$(Timer_Busy%) + " Durchläufe"

EndProc

-Main----------------------------------------------------------------
Declare Timer_Busy%,Ende%
WindowStyle 26
WindowTitle "Timertest PHU-60"
Window 100,100 - 370,200
cls
Timer setzen (4x pro Sekunde, 250ms)
Declare TimerID&
TimerID& = ~SetTimer(0, 0, 250, @ProcAddr("Timer", 0))
-Menue---------------------------------------------------------------
PopUp "&Programm"
AppendMenu 108,"&Einstellungen"
AppendMenu 109,"&Ende"
Ende% = 0

WhileNot Ende%

    WaitInput

    If @MenuItem(108)

        Einstellungen

    Endif

    If @MenuItem(109)

        ~KillTimer(0, TimerID&)
        Ende% = 1

    Endif

Wend

End

En media Profano2Cpp Versionen gibts no sólo Kuddelmuddel en el Dialogfenster, pero lo entsteht incluso (zeitweise) una Zugriffsverletzung. Kann al irgendwie beheben?
[...]  Es el Erklärung para Profano.
 
06.09.2006  
 



 
- Página 1 -


Aktuelle Beta todavía no, mache Yo aber todavía. Der Fehler tritt en, si encima el Menü el Diálogo aufgerufen se - pero no siempre (Rechnerabhängig). Im Anhang es mi EXE.

2 kB
Hochgeladen:06.09.2006
Ladeanzahl80
Descargar
 
06.09.2006  
 



Hast du veces el Downloadlink?
En Beta, el Yo eben heruntergeladen habe, tritt el Fehler siempre todavía en (Zugriffsverletzung), es bloß seltener...
 
06.09.2006  
 




Sebastian
König
Mit el zweiten Code podría Yo bajo XProfan incluso el Fehler ahora reproduzieren (Dialogfenster restos leer y reagiertt no en Schließen). Mit Profano2Cpp allerdings trotz zahlreicher Versuche allerdings todavía siempre no... liegt lo tal vez wirklich a mi sistema oder debería el Fehler, si él en una Rechner con XProfan auftritt auch con Profano2Cpp auftreten?

Was Yo ya sagen kann es, dass zumindest el Ursache con Profano2Cpp una otro ser debería. Hier nutzen nämliche sólo normale Prozeduren el gemeinsamen Parámetro-Stack - en CallBack-Características y eingebauten Befehlen y Características se el bastante normale Stack (como en ASM) a Übergabe benutzt, sodass se hier el Aufrufe no gegenseitig stören puede...

P.S.: Su EXE es desafortunadamente sólo el .cpp-Expediente...
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.09.2006  
 




Sebastian
König
[quote:f458ed4358]Hast du veces el Downloadlink?
En Beta, el Yo eben heruntergeladen habe, tritt el Fehler siempre todavía en (Zugriffsverletzung), es bloß seltener... [/quote:f458ed4358]
Hier el direkte Link: [...] .

Welche Versión genau hast Usted porque ahora?
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.09.2006  
 



Espectáculos 1.5a a. El EXE Yo neu hochgeladen (hoffentlich ahora correcto, komme gerade de el Nachtschicht )
 
06.09.2006  
 




Sebastian
König
[quote:bebe64f95b]Espectáculos 1.5a a.[/quote:bebe64f95b] Ok, el es ya otra vez relativ alt . Bajo el Link oben findest Usted el aktuelle Beta-Versión 1.5.9f. Darin son neben algunos Bugfixes auch ya el neuen XProfan 10-Features enthalten.

[quote:bebe64f95b]El EXE Yo neu hochgeladen (hoffentlich ahora correcto, komme gerade de el Nachtschicht )[/quote:bebe64f95b] Ähmm... wo? Bajo el Link oben befindet se siempre todavía el gleiche Expediente... (EDIT: Yo sehe gerade: el doppelte Begriff Link oben es natürlich kontextabhängig a interpetieren )
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.09.2006  
 



¡Hola Sebastian...

Yo voluntad una Ver código fuente ,bauen en el el problema häufiger auftritt, kann aber algo dauern....
 
06.09.2006  
 




Sebastian
König
[quote:5ea9f5dcc3]Yo voluntad una Ver código fuente ,bauen en el el problema häufiger auftritt, kann aber algo dauern.... [/quote:5ea9f5dcc3]
Super - danke!

Dann tritt el problema also auch con 1.5.9f todavía en? Wenn sí, Todavía una Concepto: Intento veces Por favor,, el SetTimer-Aufruf así a gestalten:

P2CPP: <USE_CALL_ST,USE_EXTERNAL_ST>
Timerid& = ~Settimer(%Hwnd,333,25,@Procaddr(Temporizador,4))
P2CPP: </USE_CALL_ST,/USE_EXTERNAL_ST>

(funktioniert allerdings todavía no con 1.5a) Tal vez liegt el Ursache sí en el Multithread-Konzept el übersetzten Programas...
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.09.2006  
 



Ob el Fehler Auftritt oder no hängt u.a. de el Speicherauslastung de. Bajo el neuen Beta podría Yo, el Fehler todavía no nachvollziehen. Bajo Windows2000 Tuve auch con el älteren Profano2Cpp Versión bislang todavía no Fehlermeldung. Melde mich otra vez.
 
06.09.2006  
 



 
- Página 2 -


¡Hola Sebastian...

Gute Noticias => en el neuen Beta es el Fehler no mehr disponible, el se ejecuta tadellos.

Im Anhang el Testprogramm con el beiden Profano2Cpp Versionen kompilert. Timerbug3.exe verursacht en me el Fehler bajo Windows98, Timerbug4.exe no.

Saludo

Andreas
KompilierenMarcaSeparación
DEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID"
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM
Testprogramm Timer
Profan Version 9
 $H Windows.ph
-Main----------------------------------------------------------------
Declare Timer_Busy%,Ende%,Durch%
Declare TimerID&,Create%,T_Text&,Test#
WindowStyle 26
WindowTitle "Timertest mir Profan2Cpp Version 1.5.9f"
Window 100,100 - 370,200
cls
Let T_TEXT&=@CREATETEXT(%HWND,"",30,30,300,30)
-Menue---------------------------------------------------------------
PopUp "&Programm"
AppendMenu 108,"&Einstellungen"
AppendMenu 109,"&Ende"
Ende% = 0
Timer setzen (4x pro Sekunde, 250ms)
TimerID& = ~SetTimer(%HWND,333,20,@ProcAddr("Timer",4))
Settimer 100

WhileNot Ende%

    WaitInput

    IF @RND(10)=1

        Setmenuitem 108

    endif

    If @MenuItem(108)

        Einstellungen

    Endif

    If @MenuItem(109)

        ~KillTimer(%HWND,333)
        Ende% = 1

    Endif

Wend

End
-Proc Einstellungen

Proc Einstellungen

    Declare hD%, hA%, hB%, OK%, hTime%
    Declare hF1%, hT1%
    Clear OK%
    Dialogfenster erzeugen
    hD% = @Create("Dialog",%hWnd,"Einstellungen",%WinLeft+80,%WinTop+155,230,190)
    hF1% = @Create("Font","Arial",16,0,0,0,0)
    hT1% = @Create("Text",hD%,"Einstellungen...",10,10,220,20)
    SetFont hT1%,hF1%
    hTime% = @Create("TimeEdit", hD%, "00:00:00", 10, 35, 70, 24)
    hB% = @Create("Button",hD%,"&Nachstellen",10,120,100,28)
    hA% = @Create("Button",hD%,"&Abbrechen",120,120,100,28)

    WhileNot Ok%

        WaitInput

        IF @RND(30)=1

            LET OK%=1

        endif

        If @ButtonClicked(hB%)  Nachstellen

            Ok% = 1
            Aktionen hier

        ElseIf @ButtonClicked(hA%) Abbrechen

            Ok% = 1

        ElseIf (%Key = 2) ALT+F4 bzw. schließen

            Ok% = 1

        EndIf

    EndWhile

    DeleteObject hF1%
    @DestroyWindow(hD%)

EndProc

-Prozedur die in bestimmten Zeitintervallen ausgefuehrt wird (4x pro Sekunde)

Proc Timer

    Parameters P1&,P2&,P3&,P4&

    IF Durch%=0

        LET Durch%=1
        Dim Test#,1000000
        Inc Timer_Busy%
        Locate 7,5
        Print "Timer:" + @str$(Timer_Busy%) + " Durchläufe"
        Settext T_Text&,"Timer:" + @str$(Timer_Busy%) + " Durchläufe"
        Drawtext 30,0,@Time$(0)
        Drawtext 100,0,@Time$(1)
        Dispose Test#
        Let Durch%=0

    endif

ENDPROC


265 kB
Hochgeladen:06.09.2006
Ladeanzahl56
Descargar
 
06.09.2006  
 




Sebastian
König
¡Hola Andreas,

[quote:fc655c1c78]Gute Noticias => en el neuen Beta es el Fehler no mehr disponible, el se ejecuta tadellos.[/quote:fc655c1c78]
Ok, super! Ist natürlich schwer a sagen, pero yo vermute veces, dass el oben ya erwähnte Anpassung en 1.5.9f el problema gelöst ha...

[quote:fc655c1c78]Im Anhang el Testprogramm con el beiden Profano2Cpp Versionen kompilert. Timerbug3.exe verursacht en me el Fehler bajo Windows98, Timerbug4.exe no.[/quote:fc655c1c78]Ganz sicher? En me es nämlich genau umgekehrt - 4 stürzt de, 3 no... Timerbug3 es laut Titelzeile auch el, el con 1.5.9f erstellt wurde.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
06.09.2006  
 



[quote:a8aaf87176=Sebastian König]¡Hola Andreas,

[quote:a8aaf87176]Im Anhang el Testprogramm con el beiden Profano2Cpp Versionen kompilert. Timerbug3.exe verursacht en me el Fehler bajo Windows98, Timerbug4.exe no.[/quote:a8aaf87176]Ganz sicher? En me es nämlich genau umgekehrt - 4 stürzt de, 3 no... Timerbug3 es laut Titelzeile auch el, el con 1.5.9f erstellt wurde.

MfG

Sebastian[/quote:a8aaf87176]
¡Hola Sebastian...

Sí, hast Recht - tener mich vertan.

Saludo

Andreas
 
06.09.2006  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.649 Views

Untitledvor 0 min.
gerd12.01.2013

Themeninformationen

Dieses Thema ha 2 subscriber:

unbekannt (9x)
Sebastian König (6x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie