-
Gesamte Inhalte
433 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von TinTin
-
Was ist, wenn der Pfad "\\\\Compi\\Pfad\\" nicht für den angemeldeten Nutzer des zugreifenden Rechners freigegeben ist, kann ich dann Nutzer und Passwort übergeben? TinTin EDIT: Ich hätte den Thread auch zuende lesen sollen, egal, eine Antwort gab es bisher ja noch nicht.
-
Wie Recht du hast ich war wohl geistig etwas verwirrt. Das mit den Syncronisierungsobjekten sieht ganz interessant aus, ist mir für den Moment aber zu aufwendig. Ich lege die Parameter auf den Heap, dass sollte für den Moment reichen. Danke für Deine Hilfe, TinTin
-
ta ist lokal in einer Dialogklasse deklariert, beinhaltet aber 'nur' zwei Pfade, die direkt inder TreadFunktion genutzt werden. kann ich aber auch global deklarieren. Was ist denn sinnvoller, denn meinem Code sind die ta-Member Zeiger auf zwei Klassen-Menbervariablen threadArgs ta; ta.lpDBPath = m_csDBFullPath; ta.lpZipName = m_csFullBackUpPath; Ist nur ein Beispiel und WaitForSingleObject(hThread, INFINITE); hat da auch Nichts mehr zu suchen TinTin
-
Danke, so schauts aus. typedef struct threadArgs { LPCTSTR lpDBPath; LPCTSTR lpZipName; } threadArgs; DWORD WINAPI threadCreateZip(LPVOID lParam) { threadArgs *ta; ta = (threadArgs*) lParam; TRACE("arg1:%s arg2:%s",ta->lpZipName,ta->lpDBPath); return 0; } ... HANDLE hThread = CreateThread(NULL, 0, threadCreateZip, (LPVOID)&ta, NULL, &ThreadId); if (hThread != INVALID_HANDLE_VALUE) { WaitForSingleObject(hThread, INFINITE); DWORD dwExitCode; GetExitCodeThread(hThread, &dwExitCode); CloseHandle(hThread); return; }
-
Servus Gemeinde, ich suche nach einer Möglichkeit einen CString als Parameter in eine ThreadFunktion zu übergeben. Bei CreateThread steht mir ja LPVOID als Paremeter zu Verfügung. Wie bekomme ich den dazu einen CString zu akzeptieren? TinTin DWORD WINAPI threadCreateZip(CString test) { AfxMessageBox(test); return 0; } CreateThread(NULL, 0, threadCreateZip, test, NULL, &ThreadId); So gehts natürlich nicht, aber so sollte es im Prinzip aussehen.
-
Super,wäre noch schön zu wissen wie du es gemacht hast. TinTin
-
SDI/MDI mit CEditView/CRicheditView - HowTo
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
So, lange Zeit ist vergangen und ich bin mitlerweile bei einem MDI Projekt mit CRichEditView. Das ganze ist ein kleiner Editor (Übung). Jetzt habe ich angefangen mich mit der Druckerei zu beschäftigen. Setenränder setzen mit SetMargin und Ausdruck funktioniert auch. Mein Problem ist jedoch, dass der Drucker immer ein Blatt zuviel ausspuckt, d.h. nach dem letzten bedruckten Blatt kommt immer noch ein leeres Blatt hinterher. Das ist der momentane Code für das Drucken BOOL CRichPrintView::OnPreparePrinting(CPrintInfo* pInfo) { SetMargins(CRect(720, 720, 720, 720)); return DoPreparePrinting(pInfo); } void CRichPrintView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo) { CRichEditView::OnBeginPrinting(pDC, pInfo); } void CRichPrintView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo) { CRichEditView::OnEndPrinting(pDC, pInfo); } Wenn ich BOOL CRichPrintView::OnPreparePrinting(CPrintInfo* pInfo) { SetMargins(CRect(720, 720, 720, 720)); Info->SetMaxPage(1); return DoPreparePrinting(pInfo); } eintrage, bekomme ich nur eine Seite, was logisch ist. Wie bekomme ich raus wieviele Seiten mein Dokument hat, damit ich das Ganze mit SetMaxPage() angeben kann. Ich hoffe ich habe mich verständlich ausgedrückt. TinTin -
dsp datei gelöscht, was nun? VC++ 6.0 (SP6)
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
Hallo Klotzkopp, ich habe jetzt in den Einstellungen unter Allgemein die MFC Konfiguration auf 'MFC in einer gemeinsam genutzten DLL verwenden' eingestellt und jetzt läuft das Projekt wieder. War es das was du meintest? TinTin -
Morgen zusammen, die Woche fängt ja gut an. Ich habe mir dummer Weise die dsp Datei meines Projektes gelöscht. Nun bekomme ich das ganze nicht mehr ans laufen. Ich habe ein neues Projekt erstellt und alle *.cpp, *.h, *.rc ,*.rc2 dem Projekt hinzugefügt. Wenn ich das Projekt erstelle bekomme ich folgende Fehlermeldung ChildFrm.cpp Linker-Vorgang läuft... nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __endthreadex nafxcwd.lib(thrdcore.obj) : error LNK2001: Nichtaufgeloestes externes Symbol __beginthreadex Debug/pr.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise Fehler beim Ausführen von link.exe. Was muß ich denn noch machen, was habe ich vergessen? TinTin
-
SDI/MDI mit CEditView/CRicheditView - HowTo
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
@Klotzkopp: Danke, habe ich berücksichtigt. @Alle: So, jetzt stehe ich vor dem nächsten Problem. Ich möchte, dass beim Laden der View eine festegelegte Textdatei in die EditView geladen wird. Wo stelle ich das am geschicktesten an. Ich denke, dass die Serialize() - Funktion ist ein Ansatz den ich versuchen werde. TinTin -
SDI/MDI mit CEditView/CRicheditView - HowTo
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
So, ich habs geschafft. Ich bin mir zwar nicht sicher ob das der beste weg ist aber es funktioniert erst mal. CMyView::CPrint2View() { m_cfoScreen = new CFont(); } CMyView::~CPrint2View() { delete m_cfoScreen; } void CMyView::OnInitialUpdate() { CEditView::OnInitialUpdate(); LOGFONT lf; lf.lfHeight =-16; lf.lfWidth = 0; lf.lfEscapement = 0; lf.lfOrientation = 0; lf.lfWeight = 400; lf.lfItalic = 0; lf.lfUnderline = 0; lf.lfStrikeOut = 0; lf.lfCharSet = 0; lf.lfOutPrecision = 3; lf.lfClipPrecision = 2; lf.lfQuality = 1; lf.lfPitchAndFamily = 49; strcpy(lf.lfFaceName, _T("Courier New")); m_cfoScreen->CreateFontIndirect(&lf); SetFont(m_cfoScreen); SetPrinterFont(m_cfoScreen); } Der eingestellte Font ist Courier New, Standard, 12, Westlich. Für weitere Anregungen und Verbesserungsvorschläge bin ich jetzt schon dankbar. TinTin -
SDI/MDI mit CEditView/CRicheditView - HowTo
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
Und wo soll ich mir den herholen? Kann ich mir irgendwo einen wegnehmen? Wo stehen die denn rum? TinTin -
SDI/MDI mit CEditView/CRicheditView - HowTo
TinTin antwortete auf TinTin's Thema in C++: Compiler, IDEs, APIs
So, es scheint ja keiner was bzgl. eines guten Tutorials zu wissen, schade. Nun schlage ich mich selber mit diesem Thema herum. Ich habe auch mittlerweile ein MDI Projekt mit einem CEditView auf die beinegestellt und die Druckerei so einigermassen im Griff. Jetzt suche ich nach einer Möglichkeit in der View den Font und PrinterFont vorzubelegen, so dass es standardmässig mit Courier New belegt ist. Wo ist denn die Stelle an der ich das am besten Anbringe? TinTin <- der langsam verzweifelt weil er keine guten Beispiele findet. -
Probleme mit Variablendeklaration
TinTin antwortete auf Loki876's Thema in C++: Compiler, IDEs, APIs
in der registry. -> regedit -> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\6.0\ServicePacks @Amstelchen: Danke für die Info, man lernt doch immer wieder dazu. -
Servus, Ich habe mich bisher fast ausschlieslich mit dialogbasierenden Anwendungen beschäftigt. Jetzt suche ich nach einem gut dokumentierten Tutorial zu o.g. Thema. Etwas wo schrittweise der Aufbau einer solchen Anwendung mit dem VST/VC++ 6.0 erklärt wird. Die MSDN Beispiele WORDPAD,MULTIPAD,SUPERPAD sind leider schon fertig. Ich such etwas, wo man den Aufbau und die Zusammen- hänge nachvollziehen kann. TinTin
-
hoppalla, erschreckend ist, dass das schon so alt ist und immer noch stimmt.
-
Hallo Gemeinde, schon mal nach 'failure' gegoogelt? Google Suche mit 'failure' Sehr interessant was sich dort als erstes findet. Ciao TinTin
-
Danke Klotzkopp, dass ist die Lösung. ScreenToClient hab ich gesternauch gefunden, hatte aber leider noch keine Zeit zu posten. Dank auch nochmal an alle für Eure Bemühung. TinTin
-
Das ist noch nicht ganz die Lösung. CWnd *wnd = GetDlgItem(IDC_ED_COMMENT); wnd->GetClientRect(&rect); ergibt: {top=0 bottom=16 left=0 right=121} (das sind nicht die Koordinaten im Client, die Maße des Feldes) rect.bottom += 28; wnd->MoveWindow(rect,TRUE); setzt mir das Editfeld dann auch genau ins linke obere Eck des Fenster. Was auch logisch ist.
-
Wen ich den Code bei mir einfüge, dann verschiebt es mir das Editfeld an eine ganz andere Stelle. Die Höhe wird geändert, aber das ganze Editfeld verschiebt sich. Kann es eventuell daran liegen, dass das Editfeld in einem Static Rahmen liegt? Denn es wird aus diesem verschoben und liegt dann daneben. TinTin
-
void CMyDlg::OnSetfocusEdComment() { CRect rect; CWnd *wnd = GetDlgItem(IDC_ED_COMMENT); wnd->GetWindowRect(&rect); rect.bottom = rect.bottom + 28; wnd->SetWindowPos(wnd,rect.left,rect.top,rect.right,rect.bottom,NULL); UpdateWindow(); } Mal sehen, jetzt gehts erst mal nach hause, schönes wochenende
-
ja. CWnd *wnd = GetDlgItem(IDC_ED_COMMENT); wnd->GetWindowRect(&rect); rect.bottom = rect.bottom + 28; wnd->SetWindowPos(wnd,rect.left,rect.top,rect.right,rect.bottom,NULL); UpdateWindow(); so bewegt sich auch nichts.
-
VC++ 6.0 "MFC" habe ich leider vergessen CWnd *wnd = GetDlgItem(IDC_ED_COMMENT); wnd->GetWindowRect(&rect); rect.bottom = rect.bottom + 28; SetWindowPos(wnd,rect.left,rect.top,rect.right,rect.bottom,NULL); UpdateWindow(); Ich weis nicht, da bewegt sich nichts?
-
Servus, ich möchte ein Editfeld zu laufzeit ändern. RECT rect; m_ceComment.GetRect(&rect); rect.bottom = rect.bottom + 28; m_ceComment.SetRect(&rect); UpdateWindow(); so gehts leider nicht. da wird nur das innere RECT geändert.
-
und wie erstelle ich eine solche Gruppenrichtlinie? es handelt sich um einen Win2000 Rechner, der nur in einer Arbeitsgruppe hängt. Was brauche ich zum erstellen der Richtlinien, die Richtlinie soll nur auf diesem einen Rechner gelten/laufen. TinTin