Selektierten Dateipfad in einen Text edit anzeigen lassen
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Kleine C-Nachhilfe:
In deinem geposteten Header steht: das ist also ein Memberpointer.
In deinem Sourcefile steht:
hier erster Fehler: Warum deklarierst Du directory2 hier neu und gibt getOpenFileName einen Pointer oder was andres zurück? Entsprechend musst Du die Dekleration im Header anpassen.
In deiner Fehlermeldung steht:
Tip:
1. Bennen alle Membervariablen von Anfang an mit m_Name und alle Memberpointer mit mp_Name. Es iwr dannn übersichtlicher und einfacher.
2. Lies dringenst C++ Grundlagen im Kapitel "gültigkeitsbereich von Variablen"
In deinem geposteten Header steht:
Code: Alles auswählen
QString *directory2; In deinem Sourcefile steht:
Code: Alles auswählen
QString directory2 = QFileDialog::getOpenFileName(this,
tr("Find Files"), QDir::currentPath()); In deiner Fehlermeldung steht:
Naja überprüf mal ob setText wirklich nen Pointer will, weil da wird mal wieder dein Memberpointer übergeben und der hat nix mit der Variablen zu tun in der Du den String gespeichert hast.Reason: cannot convert from 'QString *' to 'const QString'
Tip:
1. Bennen alle Membervariablen von Anfang an mit m_Name und alle Memberpointer mit mp_Name. Es iwr dannn übersichtlicher und einfacher.
2. Lies dringenst C++ Grundlagen im Kapitel "gültigkeitsbereich von Variablen"
-
Mr.Undercover
- Beiträge: 68
- Registriert: 28. Oktober 2008 23:44
Vielen Vielen dank... Es lag wirklich am Memberpointer
Nun ne andere Frage, wieso hat das mit dem Memberpointer nicht Funktioniert ? bzw. was hats den gemacht als ich es mit dem Memberpointer machen wollte....
Nun ne andere Frage, wieso hat das mit dem Memberpointer nicht Funktioniert ? bzw. was hats den gemacht als ich es mit dem Memberpointer machen wollte....
----------------------------------------------------------
Ich bedanke mich im voraus für eure Mühe...
MfG
Ich bedanke mich im voraus für eure Mühe...
MfG
Gleich zu Beginn:
Lies meinen letzten Thread nochmal. Danach lies ihn nochmal. Und dann noch ein drittes mal.
Jetzt beherzigst Du die Tips die ich Dir gegeben hab und dann sollte dein Frage sich erübrigen und Du solltest auf folgende Erklärung kommen.
Du hast zwei Variablen directoy2 und directory2. Klingt komisch hattest Du aber so gemacht. Worin unterscheiden die sich nun? Im Namen wohl nicht. Aber in Ihrer deklaration.
es gibt QString *directory2 und QString directory2. Also einmal als Pointer und einmal eben normal.
Aber es gibt noch einen Unterschied. Der Ort wo sie deklariert wurden. Der Pointer ist ein Member das andere eine lokale Variable innerhalb einer Funktion. Die hast Du dort beschrieben und wo anders dann wieder den Memberpointer verwendet. Da wo Du den Memberpointer verwendet hast, bist Du davon ausgegangen das die änderung der loalen Variable den Pointer ändert.
Warum sollte das gehen, das sind zwei unterschiedliche Variablen die abgesehen vom gleichen Namen nichts gemeinsam haben.
Daher nochmal mein Tip:
1. Lies Dich unbedingt nochmal in das C++ Kapitel Gültigkeitsbereich von Variablen ein.
2. Bennen alle Membervariablen von Anfang an mit m_Name und alle Memberpointer mit mp_Name. Es wird dannn übersichtlicher und einfacher.
Lies meinen letzten Thread nochmal. Danach lies ihn nochmal. Und dann noch ein drittes mal.
Jetzt beherzigst Du die Tips die ich Dir gegeben hab und dann sollte dein Frage sich erübrigen und Du solltest auf folgende Erklärung kommen.
Du hast zwei Variablen directoy2 und directory2. Klingt komisch hattest Du aber so gemacht. Worin unterscheiden die sich nun? Im Namen wohl nicht. Aber in Ihrer deklaration.
es gibt QString *directory2 und QString directory2. Also einmal als Pointer und einmal eben normal.
Aber es gibt noch einen Unterschied. Der Ort wo sie deklariert wurden. Der Pointer ist ein Member das andere eine lokale Variable innerhalb einer Funktion. Die hast Du dort beschrieben und wo anders dann wieder den Memberpointer verwendet. Da wo Du den Memberpointer verwendet hast, bist Du davon ausgegangen das die änderung der loalen Variable den Pointer ändert.
Warum sollte das gehen, das sind zwei unterschiedliche Variablen die abgesehen vom gleichen Namen nichts gemeinsam haben.
Daher nochmal mein Tip:
1. Lies Dich unbedingt nochmal in das C++ Kapitel Gültigkeitsbereich von Variablen ein.
2. Bennen alle Membervariablen von Anfang an mit m_Name und alle Memberpointer mit mp_Name. Es wird dannn übersichtlicher und einfacher.