Français
C ++ Forum

Fortschrittsbalken verschwindet

 

Michael
Dell
Salut,

suivant Code erzeugt im ersten Schritt une 100Mb grand Dossier (erster Fortschrittsbalken), après wird qui Dossier mittels einer kleinen DLL (sur zlib la base) gezippt (zweiter Fortschrittsbalken).

Über une CallBack- Funktion wird qui zweite Fortschrittsbalken angesteuert, es wird qui dans den grenier eingelesene Wert à qui CallBack- Funktion transfert (Endwert entspricht qui Originalgröße qui Dossier).

dans Profan fonctionne cela très bien, doch sur Profan2Cpp (v1.49d) verschwindet zweite Fortschrittsbalken um kurz puis wieder am Anfang trop erscheinen, je größer qui Dossier desto häufiger wiederholt sich cela.
KompilierenMarqueSéparation
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/'>Fin
ici gibst qui benötigte DLL: [...] 

je n'en sais rien quoi là abläuft, peut-être is cela aussi seulement chez mir so (128Mb RAM)
 
Salu Michael...

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



cela riecht pour einem Überlauf - peut-être hat Roland irgendwo quoi comme unsigned deklariert wohin Sebastian de signed ausgeht. la fois voyons quoi Sebastian en supplément sagt...
 
29.08.2005  
 




Sebastian
König
Salut,

[quote-part:21a53668e4]cela riecht pour einem Überlauf - peut-être hat Roland irgendwo quoi comme unsigned deklariert wohin Sebastian de signed ausgeht. la fois voyons quoi Sebastian en supplément sagt...[/quote-part:21a53668e4]
quelque chose comme dans qui Art vermute je aussi... allerdings ist sowohl avec XProfan, comme aussi avec Profan2Cpp alles signed. Es peux alors seulement son, dass C++ den Ausdruck quelque chose anders auswertet comme XProfan...

je peux mais une einfachen Workaround anbieten simple d'abord par Kfs& partager et ensuite la fois 100 prendre:

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

avec cela funktionierts chez mir aussi avec Profan2Cpp korrekt.

MfG

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




Sebastian
König
encore quoi seltsames: si on den Slash par une Backslash, alors Integer-Division, ersetzt, funktioniert es aussi avec XProfan pas plus korrekt (gleicher faute...). Wahrscheinlich ist es am sichersten, qui API-Funktion MulDiv() trop verwenden:

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




Michael
Dell
Prima, so läufts! merci!!!
 
Salu Michael...

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



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

2.485 Views

Untitledvor 0 min.

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