000
11.09.2009, 21:41 Uhr
Wolf
|
Hallo Zusammen
Ich weiss nicht warum die if- und else -Anweisungen ignoiert werden? Denn ich möchte das Editfeld clearen und neu setzen (laden) wenn result nicht mehr gleich s ist!
Allerdings wird immer wieder das gleiche hinzugefügt und so weiter und so weiter, anstatt gelöscht etc.. Also denke ich wird if und else einfach übersprungen??
Oder was ist an diesem Code falsch??? Das ist mein erster Versuch mit einem Thread. Und ach ja, wie erstelle ich dann mehrere Threads?
Hier der Code:
C++: |
UINT CHauptDlg::WarnList(LPVOID pParam) { //Aktuelle Warnungen laden und im Editfeld anzeigen CString somecode, s; CInternetSession session("Verbindungstest",1,INTERNET_OPEN_TYPE_PRECONFIG);
CStdioFile* pFile = NULL; CString strUrl("http://www.nfws.ch/inc/warnlist_scmt.php");
do { try { pFile = session.OpenURL(strUrl,1,INTERNET_FLAG_TRANSFER_BINARY,NULL,0);
if(pFile) { while (pFile->ReadString(somecode) != NULL) { s = s + somecode; } pFile->Close(); } } catch (CInternetException* e) { e->Delete(); session.Close(); CloseHandle(session); }
CEdit *pEdit = (CEdit*)pParam; CString result; pEdit->GetWindowTextA(result);
if(result == "Warnungen werden geladen...") { s.Delete(0,1); s.Replace(_T("\\r\\n"), _T("\r\n")); pEdit->SetWindowTextA(s); }
else if(result == s) { //Nichts machen } else { pEdit->Clear(); s.Delete(0,1); s.Replace(_T("\\r\\n"), _T("\r\n")); pEdit->SetWindowTextA(s); } } while(1+1);
return 0; }
|
Gruss Wolf und Danke |