Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Transtypage char* vers nsString

Envoyé par : simoryl

Date : 03/06/2008 09:36

Salut à tous!

Je suis en train de faire un xpcom en C++ et j'ai un souci de transtypage : j'ai un char* (c'est une contrainte...) et j'ai besoin de le changer en nsString (ou un type équivalent) pour l'envoyer à mon extension Firefox. Je trouve pas comment faire...

Quelqu'un peut m'aider?

Merci :-)

Simo'

# Re: Transtypage char* vers nsString

Envoyé par : simoryl

Date : 03/06/2008 17:13

Euh... C'est mort ici ou tout le monde s'en fout des xpcom...

(lol...)

# Re: Transtypage char* vers nsString

Envoyé par : Raphael

Date : 03/06/2008 17:35

Ben pour que les "experts" XPCom passent, c'est généralement plus long.

Les développeurs moyens comme moi, on traine plutôt du côté de la section "XUL, JS, XBL" ^^"

Désespère pas, en règle général, on trouve quand même la réponse à sa question, sinon tu peux toujours essayer IRC si tu es pressé.

# Re: Transtypage char* vers nsString

Envoyé par : simoryl

Date : 04/06/2008 09:20

ce qui est dingue c'est quand on touche aux xpcom, on se sent vite seul au monde contrairement à xul... Je vais noyer mon chagrin dans un fond de canette...

Simo'

# Re: Transtypage char* vers nsString

Envoyé par : Paul Rouget

Date : 04/06/2008 10:09

Gecko 1.9 ou 1.8 ?

# Re: Transtypage char* vers nsString

Envoyé par : simoryl

Date : 04/06/2008 13:38

Je dirai 1.7 mais vue que je suis sous Fifrefox 2 je pencherai vers le 1.8... Des fonctionnalités en plus dans le 1.9? Mais si j'utilise le 1.9, serais-je toujours compatible avec Firefox 2?

# Re: Transtypage char* vers nsString

Envoyé par : Paul Rouget

Date : 04/06/2008 14:54

Firefox 2: Gecko 1.8

nsACString.Assign(char *)

te conviendrait ?

# Re: Transtypage char* vers nsString

Envoyé par : simoryl

Date : 04/06/2008 15:30

ça ne marche pas :-\ Voici mon code :

NS_IMETHODIMP CSpecialThing::Glop(const nsACString & a, nsACString &_retval)
{
typedef char* (_stdcall *ProcDllPtr)(char* monString);
char* reponseDLL;
HMODULE hinstDLL=LoadLibraryA((LPCSTR)"C:\\DLMDLL.dll");
if (hinstDLL) {
	ProcDllPtr ProcExportDll = (ProcDllPtr) GetProcAddress(hinstDLL, "Donne_info");
	reponseDLL = ProcExportDll((char*)("autreblabla"));
}
//...
nsACString test;
test.Assign(reponseDLL);
_retval = test;
FreeLibrary((HMODULE)hinstDLL);

Il me met comme erreur : error C2248: 'nsACString::~nsACString' : cannot acces protected member declared in class 'nsACString'

J'suis perdu là... En passant, ça existe pas une page web avec le résumé sur les type parce que à force, je m'y perd à moitié...

Simo'

# Re: Transtypage char* vers nsString

Envoyé par : Paul Rouget

Date : 04/06/2008 16:37

http://developer.mozilla.org/en/docs/XPC(..)

Attention au MOZILLA_INTERNAL_API dans Gecko 1.8 !

# Re: Transtypage char* vers nsString

Envoyé par : simoryl

Date : 04/06/2008 16:45

Euh j'avoue ne pas comprendre ce que tu veux me dire... (sorry...)

Par contre, j'arrive à donner un texte à mon xul en faisant : _retval = (LPCSTR)L"réponse"; où mon xul reçoit bien le texte réponse. Il n'y a pas un équivalent en cpp pour faire la même chose mais avec une variable plutôt q'un texte en brut???

Simo'

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.