Zum Inhalt springen

Cos

Mitglieder
  • Gesamte Inhalte

    119
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Cos

  1. Cos

    Heapfehler

    ich meinte die Funktion void CConvertOP::OnConvertgo() die wird nicht gestartet. und die ganze Klasse CConvertOP wird nicht durchlaufen wenn der Fehler auftritt. Also der Debugger sagt das converterex ohne das durchlaufen der CConvertOP und ohne ausführen von OnConvertgo den Wert {"€Z"} hat weiter ist angegeben, als Unterpunkt von converterex, m_pchData mit dem Wert 0x0012b9e0 was €Z entsprechen soll. und ich hätte gerne das converterx keine Informationen enthält wenn OnConvertgo nicht durchlaufen wird. Meinst du das es damit gehen könnte, wenn man converterex keine Wert zuweist?
  2. Cos

    Heapfehler

    Aber Hallo....wenn ich die dir alle hinschreibe bin ich morgen noch dran. das sind mindestens 50 Membervariablen und 15 Funktionen. Es gibt ein paar Arrays die aber nicht in direkter Verbindung stehen mit dem m_sInputConvert. Es muss ja ein Fehler sein der mit dieser Variable in Verbindung gebracht wird. OH GOTT....jetzt fällt mir gerade noch was ein was ich vergessen habe zu schreiben :eek Das tut mir leid.... Und zwar taucht der Fehler nur auf wenn die Funktion CConvertOP nicht gestartet wird und der ganze Code oben nicht durchlaufen wird...also wenn m_sInputConvert --> converterex (so heißt der CString in der OnRunabcwarp) nicht "gefüllt" wurde.... entschuldige wenn du mir jetzt gerne den Hals umdrehen willst....war das wichtig?
  3. Cos

    Heapfehler

    so ich denke ich habe was gefunden. private: CConvertOP m_dConvertOP; Ist es was du sehen wolltest? void CABCboxDlg::OnConvert() { m_dConvertOP.DoModal(); } Ich darf leider keine großen Fragmente des Codes rausgeben...muss auch jedesmal den Code ändern wenn ich hier was poste (Namen von klassen etc.)
  4. Cos

    Heapfehler

    ok geb mich geschlagen was du nicht immer alles über meine programme weißt... also die m_sInputConvert kommt nur in dem Code vor den du siehst und die Instanz ist in der ConvertOP.h mit CString m_sInputConvert. public: CString m_sInputConvert; CConvertOP(CWnd* pParent = NULL); // Standardkonstruktor in den anderen Klassen wohin sie kopiert wird erzeuge ich nichts mehr. die Klassen sind definiert mit afx_msg void OnRunmabcsplit(CString, bool); afx_msg void OnRunabcwrap(CString, bool); könnte der Fehler an dem afx_msg liegen? diesen teil habe ich von dem bestehenden Programm übernommen. Das würde vom Programmierer vorher geschreiben.
  5. Cos

    Heapfehler

    Nein die Klasse hat sonst keine andere Variablen, sie ist nur eine kleine Funktion die gestartet wird wenn der Button im fenster gedrückt wird. Der Code vom obigen Post ist der komplette. Es gibt noch 2 andere Funktionen eine Cancel und eine Durchsuchen, die die Datei speichert die ich benötige. Ich erzeuge keine Instanzen...
  6. Cos

    Heapfehler

    Also der CString wird eigentlich kaum genutzt. Er besorgt mir mit m_sInputConvert = m_ldFile.GetPathName(); den Pfad und dann übergebe ich ihn mit bool converton = TRUE; CABCboxDlg m_change; CDisplayConvert m_startconvertdisplay; m_change.OnRunabcsplit(m_sInputConvert, converton); m_change.OnRunabcwrap(m_sInputConvert, converton); m_startconvertdisplay.DoModal() an die 2 anderen Klassen. Dort wird lediglich eine andere Variable mit void CABCboxDlg::OnRunabcwrap(CString converterex, bool concheck) m_sOutput1.Format("%s%s%d%s", converterex, "_OP_", outputcount,".abc"); benannt. Habe versucht denn CString nach der Operation null-terminated zu machen, aber das hat nicht geholfen. Was funktioniert ist wenn ich den CString aus der Klasse rausnehme und die Übergabe sein lasse...aber ich brauch den CString da dort ein Pfad steht.
  7. Cos

    Heapfehler

    Ok habe den Fehler gefunden. er wird von einem CString verursacht der von einer Klasse an die andere übergeben wird. Welche Fehler kann ein CString verursachen? kann ein CString auch überlaufen?
  8. Cos

    Heapfehler

    Sind das diese "wilden" Zeiger? Na dann wir das ja einen Spass den zu suchen... kann ich den mit der Fehlermeldung in dem dazugehörenden 0x...Code was anfangen. Gibts da einen Anhaltspunkt wo ich mit der Suche beginnne kann. Weil der stoppt beim Debugger nicht im Text-QuellCode sondern in den Assembler-Bereich und da suche ich ja bis in die Unendlichkeit...
  9. Cos

    Heapfehler

    Nein ich benutze keine DLL´s. Das hatte ich auch schon mal gesehen dass das ein bekannter Fehler ist wenn man DLL´s benutzt, aber ich habe keine...
  10. Cos

    Heapfehler

    [EDIT: Abgelöst von Haltepunkte | Klotzkopp] genau die taste war es :-) aber ich habe mal eine Frage wegen einem Haltepunkt den VC selber erstellt und zwar wenn ein Heap-Fehler auftritt. Kann mir vielleicht jemand sagen wo ich den Fehler suchen muss wenn der Fehlercode folgendermaßen heißt...: HEAP[box.exe]: Invalid Address specified to RtlValidateHeap( d00000, 12b9b0 ) Leider weiß ich überhaupt nicht wann dieser Fehler das erste mal erschienen ist und was ich zu dem Zeitpunkt geändert habe, da ich dauernd mit dem Debugger gearbeitet habe und nie das Programm bis zum Ende hab laufen lassen, und dieser Fehler erscheint wenn das Programm eigentlich schon vorbei ist. Die Meldung von VC lautet (also eine AFX-Box erscheint) Benutzerdefinierter Haltepunkt aus Quellcode aufgerufen bei 0x778813b1 danke
  11. hat sich erledigt, danke....
  12. Hallo zusammen, habe eine kurze Frage an Euch. Gibt es bei Visual C++ 6.0 eine Taste oder sonst was, die alle Haltepunkte im Code aufeinmal aufhebt? Danke
  13. Cos

    Auslesen einer Datei

    Also das mit den Zahlen auslesen habe ich klären können. nun muss ich aber die Hex-Zahl 00 07 6b 24 ausgeben. Und zwar würde ich sie gerne Byteweise spirch 00 --> 07 --> 6b --> k 24 --> $ ausgeben. Das würde ja auch klappen wenn ich die Zahl 00 07 6b 24 in ein 4-Byte-Array schreiben könnte. Weiß jemand wie das geht? Also es soll dann result[0] = 00 ; result[1] = 07 ; result[2] 6b ; result[3] = 24 sein. Dann kann ich sie mit frpintf eizeln ausgeben. Leider funktioniert es nicht mit result[4] = 00 07 6b 24...
  14. Cos

    Auslesen einer Datei

    @ Guybrush Du hast Recht dass das mit den iii ziemlich ekelig ist, das wird später auch noch geändert, das hier ist alles ja noch im Entwicklunsstadium, iii wird später Valuecounter oder so ähnlich, da muss ich mir noch was passendes überlegen. Das Ziel dieser Zahl 416886 ist sie blockweise sprich, 41 68 86 in hex zu wandeln und dann in eine Datei zu schreiben, das sie dann so aussieht wie wenn man sie eine datei im editor öffnet. Dieser Teil wird dann in eine andere Datei an den Anfang geschrieben. deshalb brauche ich sie als eine Ascii reihe. Momentan liegt sie so vor: RIFF6144036WAVEfmt 161248000192000416cue 520000000000000000000000000000000000000000000000000000000100data6143932 und ausehen soll sie dann so: RIFFÀ] WAVEfmt €Â» î cue 4 data¼¿] Wobei zu berücksichtigen ist das zum Beispiel die zahl 6144036 nach dem Riff als little endian geschrieben wird... Erläuterung 6144036 = 5D C0 24 - 8 (nötiger Rechenalgorithmus) = 5D C0 1C --> 1C C0 5D 00 und das ergibt dann als Ascii À] . und das versuche ich zu machen. frag bitte nicht wieso und welcher sinn dahinter steckt, das würde ewig dauern das halbwegs plausibel zu erklären
  15. Cos

    Auslesen einer Datei

    ich fühle mich so doof. keiner versteht mich, aber ich ´versuchs mal zu erklären. ich denke ich mach es zu kompliziert. //Chunk Size auslesen if (j == 0x437 && value == 0x21d ) // Readout der Datei (XML-Datei). Programm das die Chunk Size erreicht ist { for (unsigned int iii = 0; iii < a-(b+bb+1); iii++) // Die For-Schleife bringt das fgetc zum aktuellen Punkt durch die Schleifenzähler a , b, bb c = fgetc(file); //Nimmt den Wert der in dem XML-File steht, die erste Zahl bb = 0; //Nullen des Schleifenzähler for( ;c != '_' //Wenn das _ erreicht ist dann ist die Ausgabe der ChunkSize beendet { b = a; fprintf(head, "%c", c);//Schreiben der ersten Zahl in die Datei Head c = fgetc(file);//Nächsten char einlesen bb++; } } [/code] Und nun ist die Zahl die gelesen wird eine variable Zahl in ihren Stellen, also sie könnte 400 000 sein oder auch 4 000 000 also wollte ich sie in ein 10-stellen array schreiben und zusammen addieren lassen das dann die komplette Zahl in einer ausgabe steht. Also out[10] = {4,8,6,1,8,8} diese soll dann 486188 sein und später als Ascii in eine andere Datei geschrieben werden. Quasi so " ". Hoffe das war bissl besser erklärt.
  16. Cos

    Auslesen einer Datei

    nun geht die schleife und ich bin froh, aber ich habe noch folgendes problem //File Length auslesen if (j == 0x41c && value == 0x21d) { for (unsigned int iii = 0; iii < a-(b+bb); iii++) c = fgetc(file); bb = 0; for( ;c != '_' { b = a; fprintf(head, "%c", c); c = fgetc(file); bb++; } } [/code] Diese schleife gibt mir eine Zahl aus, die in dem unsigned char c gespeichert und dann in die Datei head geschrieben wird. c ist ein char da auch Buchstaben ausgegeben werden. Jetzt möchte ich die Zahl in Ascii haben und habe es mit _itoa probiert aber das wollte er nicht. Wie müsste das denn aussehen? _itoa(out,c,??) was denn für ein radix?
  17. Cos

    Auslesen einer Datei

    :-) Du machst dich immer lusitg über meine schwerwiegenden Probleme.. Aber hast recht die schleife musste mit oder verknüpft werden weil das und und das ungleich sich nicht miteinander vertragen. Jetzt gehts
  18. Hi, Ich habe da Problem lösen können in dem ich eine alte Version meiner cpp Datei eingebaut habe und die änderungen die ich vorgenommen habe wiederholt habe. nun kompeliert er wieder einwandfrei. das muss ein fehler von vc gewesen sein. ich habe die afx... nicht mit eigebaut deshalb kann ich dir nicht sagen wofür sie gebraucht wird in dem projekt.
  19. Cos

    Auslesen einer Datei

    Hi, will jetzt nicht extra einen neuen thread öffnen. was ist an der schleife hier falsch? unsigned char str[1000]; for (;str[a] != '<' && str[a+1] != '/' && str[a+2] != 'R'; a++) Wieso bricht die schleife ab, sobald str[a] !='v' erfüllt ist aber die anderen nicht? Grüße Cos
  20. Cos

    Auslesen einer Datei

    Ja das mit dem Rückwärtsrechnen ist so ne Sache. Mich interessiert ja nur die Zahl die in den Hochkommata steht. Wie bekomme ich die denn einzeln da raus? so das ich überhaupt rechnen kann. momentan kopiere ich alles inklusive dem RIFF value und dem XML header in die Datei.
  21. Cos

    Auslesen einer Datei

    Hallo jetzt funktioniert bei mir alles wunderbar in eine Richtung. Nun muss ich aber mal kurz fragen wie es in die andere geht. mein xml file sieht so aus. <?xml version="1.0" encoding="UTF-8" ?> - <RiffWaveHeader> <RIFF value="RIFF" /> <LengthOfFile value="6144036_byte" /> <WAVE value="WAVE" /> und nun möchte ich die Daten die in den Hochkommata ab RIFF Value stehen wieder in ASCII in eine Datei habe. quasi das was ich vorher gemacht habe rückgängig. Und wenn es geht ohne diese XML-Klassen mit Get.Attrib.Val() etc. Geht das? Grüße Cos
  22. Hi Zusammen, habe einen Fehler in meinem Compiler. Ich habe mein Programm debuggen lassen und habe den Debug dann abgebrochen. Daraufhin habe ich folgende Fehlermeldungen bekommen. Kompilierung läuft... AFXSTATE.CPP C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(118) : error C2027: Verwendung des undefinierten Typs "COleControlLock" c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(177) : Siehe Deklaration von 'COleControlLock' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(118) : error C2227: Der linke Teil von '->m_pNextLock' muss auf Klasse/Struktur/Union zeigen C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(133) : error C2661: 'new' : Keine ueberladene Funktion akzeptiert 2 Parameter C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(140) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ '_AFX_DAO_STATE'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(181) : Siehe Deklaration von '_AFX_DAO_STATE' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(175) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ 'CHandleMap'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(109) : Siehe Deklaration von 'CHandleMap' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(176) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ 'CHandleMap'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(109) : Siehe Deklaration von 'CHandleMap' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(177) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ 'CHandleMap'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(109) : Siehe Deklaration von 'CHandleMap' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(178) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ 'CHandleMap'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(109) : Siehe Deklaration von 'CHandleMap' C:\Programme\Microsoft Visual Studio\VC98\MFC\SRC\AFXSTATE.CPP(179) : warning C4150: Loeschen eines Zeigers auf den undefinierten Typ 'CHandleMap'; Destruktor wurde nicht aufgerufen c:\programme\microsoft visual studio\vc98\mfc\include\afxstat_.h(109) : Siehe Deklaration von 'CHandleMap' Fehler beim Ausführen von cl.exe. Hat jemand eine Ahnung was man dagegen machen kann. Habe schon die betroffene Header-Datei getauscht und die cpp-Datei ebenfalls. Wie man sieht sind das Dateien vom Compiler, also verändert habe ich nichts an denen, der Fehler kam einfach nach beenden des Debugger. Danke Grüße Cos
  23. Cos

    Auslesen einer Datei

    Und genau das ist mein Gedächntnislücke...eine von vielen...:-) mit was checke ich das dann? Weil es sind ja vier Bytes die das Wort darstellen und es kann ja sein das nicht unbedingt das erste "d" was erscheint schon das von data ist. Muss ich dann vier tests machen. Quasi, wenn "d" dann checke ob nächstes byte "a"...etc.
  24. Cos

    Auslesen einer Datei

    Hi, ich bin auf der Suche nach einem Befehl der eine Datei aus liest bis der string "data" erreicht ist und gleichzeitig einen Counter hochzählt. welchen Befehl gibt es da? Habe mit fread und gets probiert, aber es klappt nicht.
  25. Cos

    Whitspace

    Hi, perfekt es funtioniert einwandfrei. Vielen Dank für deine Mühen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...