Español
C ++ Foro

Fortschrittsbalken verschwindet

 

Michael
Dell
¡Hola,

folgender Code producido en el ersten Schritt una 100Mb große Expediente (erster Fortschrittsbalken), danach se el Expediente mittels uno pequeño DLL (en zlib Base) gezippt (zweiter Fortschrittsbalken).

Über una CallBack- Función se el zweite Fortschrittsbalken angesteuert, lo se el en el Speicher eingelesene Valor a el CallBack- Función transferencia (Endwert entspricht el Originalgröße el Expediente).

In Profano se ejecuta el muy bien, doch encima Profano2Cpp (v1.49d) verschwindet zweite Fortschrittsbalken en kurz darauf otra vez al Anfang a erscheinen, je größer el Expediente desto häufiger wiederholt se el.
KompilierenMarcaSeparación
Def PackRes(3)   External("UP.DLL","ComprFile",&(1),&(2),&(3))
Def UnPackRes(2)       External("UP.DLL","DecomprFile",&(1),&(2))
Def GSC(1)       !"KERNEL32.DLL","GetSysColor"
Declare DATA#,CSID_Progre&,CDRFID_Progre&,Kfs&,DatNam1$,DatNam2$,xc&,Wert&

Proc cDRFStat

    Parameters Anz&
    SendMessage(CDRFID_Progre&,$0402,Anz&,0)

EndProc

Proc PackStat

    Parameters PS_Quelle&
    SendMessage(CSID_Progre&,$0402,Int((PS_Quelle& * 100) / Kfs&),0)
    Return 0

EndProc

Proc CreateStatusInfoDlg

    WindowStyle 528
    Window ((%MaxX - 200) / 2),((%MaxY - 114) / 2)-200,114
    CDRFID_Progre& = Control("msctls_progress32","",$50000001,20,18,160,24,%HWnd,9000,%hinstance,$010000)
    CSID_Progre&   = Control("msctls_progress32","",$50000001,20,52,160,24,%HWnd,9001,%hinstance,$010000)
    SendMessage(CDRFID_Progre&,$0402,0,0)

EndProc

Proc KillInfoDlg

    SetWindowPos %HWnd = (%MaxX + 10),0-200,114;-1

EndProc

CreateStatusInfoDlg()
DatNam1$ = "TEST.UDR"
DatNam2$ = "TEST.ZDR"
Wert&    = (1024000 * 100)
Dim DATA#,((Wert&/100)+1)
Clear DATA#
String DATA#,0 = MkStr$("Z",(Wert&/100))
Assign #99,DatNam1$
OpenRW #99

WhileLoop 1,100,1

    BlockWrite #99,DATA#,0,(Wert&/100)
    cDRFStat(&Loop)

EndWhile

CloseRW #99
Dispose DATA#
Kfs& = FileSize(DatNam1$)
PackRes(Addr(DatNam1$),Addr(DatNam2$),ProcAddr("PackStat", 1))
Sleep 2000
KillInfoDlg()
ef='./../../function-references/XProfan/end/'>End
Hier gibst el benötigte DLL: [...] 

Keine Idea qué como abläuft, tal vez is el auch sólo en me así (128Mb RAM)
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
29.08.2005  
 



Das riecht una Überlauf - tal vez ha Roland irgendwo qué como unsigned deklariert wo Sebastian de signed ausgeht. Tiempo sehen qué Sebastian dazu sagt...
 
29.08.2005  
 




Sebastian
König
¡Hola,

[quote:21a53668e4]Das riecht una Überlauf - tal vez ha Roland irgendwo qué como unsigned deklariert wo Sebastian de signed ausgeht. Tiempo sehen qué Sebastian dazu sagt...[/quote:21a53668e4]
algo como en el Art vermute Yo auch... allerdings es sowohl con XProfan, como auch con Profano2Cpp alles signed. Lo kann also sólo ser, dass C++ el Ausdruck algo anders auswertet como XProfan...

Puedo aber una einfachen Workaround anbieten Einfach zuerst por Kfs& teilen y luego veces 100 nehmen:

SendMessage(Csid_progre&,$0402,Int((Ps_quelle& / Kfs&) * 100),0)

Damit funktionierts en me auch con Profano2Cpp korrekt.

MfG

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




Sebastian
König
Noch qué extraño: Wenn uno el Slash por una Backslash, also Integer-Division, ersetzt, funktioniert lo auch con XProfan no mehr korrekt (gleicher Fehler...). Wahrscheinlich es al sichersten, el API-Función MulDiv() utilizarse:

[quote:63db746ded]The MulDiv function multiplies two 32-bit values and then divides the 64-bit resultado by a third 32-bit value. The volver value is rounded up or down to the nearest integer.[/quote:63db746ded]
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
29.08.2005  
 




Michael
Dell
Prima, así läufts! Gracias!!!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
29.08.2005  
 



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

2.483 Views

Untitledvor 0 min.

Themeninformationen



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