OpenFileDialog und FILE
-
Ein blankes Array kann auch nicht per = zugewiesen werden. Also entweder du verwendest einen Pointer auf die Daten, die dir der Dialog gibt oder du überträgst sie per strcpy() in dein Array.
-
Was dann in Code wie aussähe?
NACHTRAG:
strcpy(File1Name, openFileDialog1->get_FileName());error C2664: 'strcpy' : Konvertierung des Parameters 2 von 'System::String __gc *' in 'const char *' nicht möglich
-
Hallo
du hast immer noch nicht gesagt, mit welcher externen Bibliothel du arbeitest.
OpenFileDialog ist kein Teil des C++Standards!Die Fehlermeldung deutet darauf hin, das die vom Dialog verwendete String-Klasse nicht impliziet in einen C-String umzuwandeln ist. Die meisten String-Klassen bieten dafür Methoden an, die das erledigen. Meistens heißen die c_str().
Das weiterraten hier kannst du aber nur beenden, wenn du oben genannte Frage beantwortest.
bis bald
akari
-
Bittesehr
http://msdn2.microsoft.com/de-de/library/system.windows.forms.filedialog.aspxWo genau ich die get_FileName Funktion her hab, kann ich ncihtmal sagen. Kann auhc aus den Hilfedateien kommen
Entwicklungsumgebuing ist Visual C++ mit .NET Framework 1.0
Jahrgang 2001/2002 scheinbar. Was neueres haben die hier nicht.
-
"System::String __gc*" klingt irgendwie nach einem .NET System.
*in der MSDN nachschlägt*
Im Schnelldurchlauf finde ich nur die Methode CopyTo(), die eventuell passen könnte.(zum Thema wchar_t -> char findest du nebenan einen Beitrag)
-
error C2664: 'System::String::CopyTo' : Konvertierung des Parameters 2 von 'System::String __gc *' in '__wchar_t __gc[]' nicht möglich
Das macht mich langsam echt sauer. Den zweiten Tag fummel ich nun schon an dieser einen kleinen Ecke.
Gibts evtl. ne andere Alternative, um den Nutzer die Datei grafisch wählen zu lassen?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Wenn Du die MFC verwendest, dann mit CFileDialog. Der ist IMHO Teil der comctl32.ocx (o.ä.? *etwas unsicher*) müsste sich so also auch über ActiveX einbinden lassen.
-
@HumeSikkins: C++/CLI ist zwei Etagen tiefer

@Paddy: Entweder du verzichtest komplett auf fopen() etc. und nutzt neuere File-Klassen der .NET Umgebung - oder du nimmst einen CFileDialog aus der MFC - dessen GetPathName() Methode liefert einen CString, der eine automatische Konvertierung nach TCHAR* anbietet.
-
EDIT:
Ok, bin weiter und habs geschafft, den Pfad in die char-Variable einzulesen.
MailFinder Gold Console -v2 error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) bereits in LIBCMTD.lib(dbgdel.obj) definiert
Zuviele includes, usings whatever?
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream> #include <afxdlgs.h> #using <mscorlib.dll> #using <system.dll> #using <system.windows.forms.dll> using namespace std; using namespace System::Windows::Forms; using namespace System; #include "mailfuncts.h"Das ist das Ergebnis der Experimente mit vorhergehenden Schritten. Ist mit Sicherheit nicht sehr ordentlich.
-
Ok, die Reihenfolge der Einträge machts aus. Wenn ich die <afxdlgs.h> auskommentiere (und natürlich allen Code, der Dinge daraus verwendet), dann läuft er durch.
Laut Microsoft Hilfeseite kann man über bestimmte Linkereinstellungen eine Verarbeitung in korrekter Reihenfolge erzwingen. Leider beziehen sich die Leute auf eine andere Version und mir fehlt das Dialogfeld dazu. Es belibt also nur umsortieren.
Vieleicht rettet mich einer davor, alle Kombinationen von Hand durch zu testen.