Dateidownload
-
Ach, bin ich dämlich

Ich mache einfach ein UpdateData(TRUE); in OnBnClickedButton2()
*kopfaufdietischplattehau*
mfg
-
Mist. Ich brauche in
UINT myProc( LPVOID pvParam ) { [. . . .] }ein UpdateData(FALSE), um einen Fortschrittbalken zu aktualisieren. Also benötige ich doch noch einmal Hilfe.
mfg
-
Hmm... wenn de auf Variablen von Klassen aus Threads zugreifen willst, arbeitet man nahezu AUSSCHLIEßLICH mit Pointern

und UpdateData wird da so nicht gehen... m_VariCopy (wenn es wirklich eine Membervariable von CDialogDlg) ist auch nicht

-
Also dass das mit m_VariCopy definitiv funktioniert, kann ich garantieren.

Die Frage ist halt nur: wie bekomme ich UpdateData() ausgeführt??
mfg
-
Wieso holst du dir nicht einfach einen CWnd Pointer und rufst die entsprechenden Funktionen auf, so wie es sich gehört?
-
Dass ich nicht gerade ein Experte in C++ bin, hatte ich wohl vergessen zu sagen, oder?

(kleinlaut) Irgendwelche Codefragmente, die mir auf die Sprünge helfen könnten?
mfg
-
Was willst du denn machen? die Position deiner Progressbar nach vorne setzen?
CProgressCtrl* pProgressCtrl = (CProgressCtrl*)GetDlgItem(IDC_MYEDITCTRL); if (!pProgressCtrl) return 0; int nPos = pProgressCtrl->GetPos(); pProgressCtrl->SetPos(++nPos);So in etwa...
Referenzen:
CProgressCtrl Memberfunctions
-
Auch. Aber ich habe aber gemerkt, dass die Aktualisierung unabhängig von UpdateData() gemacht wird.
Ich habe allerdings noch einen Text, der mehrmals aktualisiert werden muss. Und dafür brauche ich UpdateData().
mfg
-
Man braucht UpdateData eigentlich NIE!. Ruf einfach mehrmals SetWindowText auf... fertig -.-
-
Ja, super! Vielen, vielen Dank!

Jetzt muss ich nur noch herausfinden, wieso der Download so langsam ist.
mfg
-
Falls es jemanden interessiert: es lag wirklich an dem zu kleinen Lese-Puffer.
Ob 512...8192 hat nichts ausgemacht, aber nachdem ich den Puffer auf 81920 setzte, hatte ich meine 600kb/s

Also statt
[...] char strbuf[512]; [...] while(bytesread=fTargetFile->Read(strbuf,512)) { [...] } [...]einfach
[...] char strbuf[81920]; [...] while(bytesread=fTargetFile->Read(strbuf,81920)) { [...] } [...]Quelle: http://www.codeproject.com/Purgatory/Download_file_from_net.asp
-> Download_file_from_net_demo - Download files from internetDanke noch einmal an (D)Evil
mfg