In pratica io sto cercando di creare una libreria per python scritta in c++, ma prima di crearla direttamente per python, ho creato un'applicazione vera e propria per testare le varie funzioni.
Partendo dal classico HelloWorld ho aggiunto le varie funzioni, menu, risorse e tutto il resto. Dopo vari giorni sono riuscito a smussare un po' i vari errori (sicuramente ce ne saranno altri), così ho deciso di fare il porting in dll (.pyd). Qui sono dolori...
Purtroppo devo ammettere che ci ho messo 3 giorni per far funzionare tutte le funzioni nel progetto per python, tutte tranne 1! Perchè sono incappato in un'errore che non riesco a risolvere
In pratica, ultimamente mi sono dilettato a fare qualche libreria per python (alcune non le ho pubblicate ancora) e tutte sono funzionanti, ma finora non ho mai avuto la necessità di dover usare un file di risorse nei moduli per python.
Ora vi posto il molare del giudizio da curare
TDes& QueryDialogL(const TDesC& aTitle, TDes& aBuffer, TInt maxLenght)
{
CAknTextQueryDialog* Dialog =
CAknTextQueryDialog::NewL(aBuffer,CAknQueryDialog::ENoTone);
Dialog->PrepareLC(R_ASK_NAME_DIALOG);
Dialog->SetPredictiveTextInputPermitted(ETrue);
Dialog->SetMaxLength(maxLenght);
Dialog->SetPromptL(aTitle);
Dialog->RunLD();
return aBuffer;
}e questo è la parte del file di risorse interessata a R_ASK_NAME_DIALOG
RESOURCE DIALOG R_ASK_NAME_DIALOG
{
flags = EGeneralQueryFlags;
buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
items=
{
DLG_LINE
{
type = EAknCtQuery;
id = EGeneralQuery;
control= AVKON_DATA_QUERY
{
layout = EDataLayout;
control = EDWIN
{
flags= EEikEdwinNoHorizScrolling | EEikEdwinResizable;
maxlength = 250;
width = 4;
lines = 1;
};
};
}
};
}se lascio il codice così e inserisco il file .rss nel file di progetto .mmp lo buildo (ovviamente inserendo anche l'include al rispettivo .rsg), la compilazione non dà alcun errore, ma quando uso quella funzione mi si chiude il programma con "CONE 14" che indica che non è stata trovata la risorsa richiesta; se invece nella funzione includo
CCoeEnv::Static()->AddResourceFileL(_L("\\resource\\apps\\filerisorsa"));l'applicazione non dà più l'errore "CONE 14" ma "System error(-1)" comunque senza mostrare la finestra di dialogo di testo.
Ora il mio problema non è tanto riuscire ad interagire con il file di risorsa, ma riuscire a stampare a video CAknTextQueryDialog o qualcosa di simile in modo che l'utente possa inserire i dati e riuscirli ad usare attraverso altre funzioni, senza dover passare per il file di risorse.
Grazie 1000 per gli aiuti o per le dritte.
Messaggio modificato da madhacker il 29 aprile 2009 - 15:23

Aiuto
















Pubblicità