Suite à la suggestion de travailler avec le pstsdk dans cette question:
Processing Microsoft Office Outlook 2003/2007 email messages…C++: obtention de l'erreur "C2065: 'pst': identificateur non déclaré" lors de l'utilisation de pstsdk?
et en suivant les instructions ici:
PST File Format SDK - PST Layer Overview - Getting Started
Et selon cette vidéo:
In PST SDK Presentation, Terry Mahaffey, discusses the PST SDK file format SDK.
(Forward à 28:32)
Ils sont tous d'accord que je ne fais que doivent inclure le fichier d'en-tête PST après avoir correctement ajouté les chemins d'à la fois Boost et pstsdk, et d'écrire le code suivant pour commencer à travailler avec mon fichier pst:
#include "pst.h"
pst myfile(L"myfile.pst");
Maintenant, je suis en utilisant un mélange de gestion et non géré C++, donc je suis en train de mettre ce code dans ma fonction comme ceci:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pst myfile(fileNameTextBox->Text);
}
et chaque fois que je compile, je reçois le code d'erreur C2065 qui dit le pst
est non déclaré.
Quelque chose?
EDIT # 1
Après que je l'ai fait comme suggéré par Hans Passant (qui fonctionne), mon code ressemble maintenant à ceci:
private:
System::Void readPstFileButton_Click(System::Object^ sender, System::EventArgs^ e) {
pstsdk::pst myfile(marshal_as<std::wstring>(fileNameTextBox->Text));
}
Et je reçois maintenant les erreurs suivantes:
erreur C3859: gamme de mémoire virtuelle pour PCH dépassée; recompiler avec une option de ligne de commande de '-Zm111' ou plus
erreur C1076: limite du compilateur: limite de tas interne atteinte; utiliser/Zm pour spécifier une limite supérieure
Je ne m'attendais absolument pas à ce que cela se produise. Comment les résoudre?
Oui, et je comprendre d'avoir une incompatibilité de type ou quelque chose comme ceci: 'erreur C2664: 'pstsdk :: :: pst pst (const std :: wstring &)': ne peut pas convertir le paramètre 1 de 'System :: String ^' à 'const std :: wstring &' '. Je comprends que c'est un fait de mélanger le C++ géré et non managé, mais je ne semble pas pouvoir taper cast de toute façon. –
Eh bien, je vous ai prévenu à ce sujet dans votre message précédent, C++/CLI n'est pas C++. Vous devez convertir la chaîne^en wstring. http://msdn.microsoft.com/nl-be/library/bb384865%28en-us%29.aspx –
Hehehe ... Oui, vous l'avez fait! Et je suis content que tu l'aies fait. Maintenant, je souhaite devenir aussi compétent en C++/CLI et C++ qu'en C#, ou proche de, au moins. C'est pourquoi je me donne ce dur "devoir", pour apprendre à la dure. Travailler avec un vrai problème, je vais apprendre plus efficacement, à mon avis. Merci pour le lien! =) –