typage des string avec Visual Studio 2010 et C++/CLI
Bonjour:)
J'ai codé
Code:
1 2 3 4 5 6 7
| public ref class OpenAFile : public System::Windows::Forms::Form
{
private:
System::Windows::Forms::Button^ button3;
Form^ form1;
public:
std::string sFileToOpen; |
Je suis en mode managé mais la documentation me dit que j'ai le droit de faire cohabiter du code managé et du code natif.
le compilateur n'as pas la même interprétation:
Citation:
OpenAFile.h(7): error C2039: 'string'*: n'est pas membre de 'std'
OpenAFile.h(7): error C2146: erreur de syntaxe*: absence de ';' avant l'identificateur 'sFileToOpen'
OpenAFile.h(7): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
OpenAFile.h(7): error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque*: C++ ne prend pas en charge int par défaut
ce serait :ccool: d'avoir un module qui accepte le type string
note au sujet de la première erreur que j'ai le même résultat sur les autres erreurs si je déclare simplement string.
Les donnée qui doivent être vues
avec le C++/CLI il faut déclarer les données comme des données globales
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| std::string sFileToOpen;
std::string sPathOfTheFile;
std::string sDiskOfTheFile;
namespace Test6 {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::IO;
/// <summary>
/// Description résumée de OpenAFile
/// </summary>
public ref class OpenAFile : public System::Windows::Forms::Form
{
private:
Form^ form1;
public:
OpenAFile::OpenAFile(void);
OpenAFile::OpenAFile(Form^ form1);
OpenAFile::~OpenAFile();
void Test6::OpenAFile::InitializeComponent(void); |
System::String vs static std:string
Les deux sont effectivement possible. J'ai opté pour la seconde. Ce choix est provisoire, je prendrai à ce sujet une décision pour le projet définitif. Pour l'instant je dois d'abord faire marcher la maquette.
Même réponse que sur l'autre thread
J'ai besoin de variables globales de type std::wstriing et je ne sais pas les affecter.
je galère sous le débugger
J'ai compris ce que vous m'avez dit. J'en accepte l'augure. Mais je cherche toujours à le vérifier et je ne sais pas comment ouvrir une fenêtre mémoire.
Je clos cette discussion sur cette base. Le reste est de l'emploi du debugger