Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusa non volevo essere frainteso , ti volevo solo chiedere se era meglio lasciare stare questo modo , forse un approccio sbagliato.
    SOlo che devo internazionalizzare in 4 lingue un programma di circa 3000 dialoghi.
    tu come faresti?
    la soluzione che viene chiamata design time lo faccio perchè cposso cambiare in diretta dalla finestra delle proprietà la caption del controllo disegnato in modo da avere il colpo d'ochhio sul dialog ,e su quanto sono da dimensionare i controlli come apparirebbero lanciato il programma.
    Grazie come sempre , anche per l'ora .
    ciao.

  2. #12
    Originariamente inviato da giuseppe500
    scusa non volevo essere frainteso , ti volevo solo chiedere se era meglio lasciare stare questo modo , forse un approccio sbagliato.
    No, a me pare un buon approccio... se solo si riuscisse a farlo funzionare .
    Prova ad inserire un breakpoint nel punto in cui viene chiamata la GetDlgCtrlID e, quando il programma ci arriva, a verificare il valore di m_hWnd, ad eseguire l'istruzione successiva (la chiamata a GetDlgCtrlID) e a vedere cosa restituisce GetLastError() (eventualmente puoi anche verificarlo velocemente nella finestra "Espressione di controllo", inserendo come espressione
    codice:
    err,hr
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #13
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusa ,ma come faccio a debuggarlo , è un ocx e devo inserirlo nel dialog di un altro progetto.
    secondo me cmq forse essendo un activex ocx si dovrebbe provare ad usare le getproperty,chiedo a te.
    il valore di m_hWnd è 985104 ma non c'è nessun errore.
    ciao

  4. #14
    Originariamente inviato da giuseppe500
    scusa ,ma come faccio a debuggarlo , è un ocx e devo inserirlo nel dialog di un altro progetto.
    Agganciandoti al processo che ospita l'ActiveX, come si fa per effettuare il debugging di qualunque dll. Tuttavia a questo punto non sono più così sicuro che il sistema di cui stiamo parlando, almeno a design time, vada bene... hai provato a runtime?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #15
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    si,ho provato a runtime,funziona.
    tanto che anc'io non sono piu' tanto convinto del metodo,in quanto le finestre e l'oggetto a runtime non sono istanziate,ho pero' letto da qualche parte su google che 67404 potrebbe essere un indirizzo di memoria dove è presente il valore!sapresti coi puntatori come prendere il valore?
    eppure a runtime non è un indirizzo,è un valore e anche giusto.
    Secondo me pero' per internazionalizzare i dialoghi è un buon metodo ,devo riuscire assolutamente a trovare l'id tanto che nella finestra delle proprietà è presente e dietro la finestra delle proprietà c'è un oggetto istanziato.
    Solo non so come accedervi , sai cosa sono le property page?

  6. #16
    Originariamente inviato da giuseppe500
    si,ho provato a runtime,funziona.
    Be', allora siamo a cavallo!
    tanto che anc'io non sono piu' tanto convinto del metodo,in quanto le finestre e l'oggetto a runtime non sono istanziate,ho pero' letto da qualche parte su google che 67404 potrebbe essere un indirizzo di memoria dove è presente il valore!sapresti coi puntatori come prendere il valore?
    eppure a runtime non è un indirizzo,è un valore e anche giusto.
    Secondo me dipende dal fatto che nell'editor di dialoghi il controllo non viene istanziato con lo stesso ID che gli viene assegnato nel programma, ma con un altro creato da Visual Studio per non creare conflitti con i suoi controlli... ma questa è solo un'ipotesi.
    tanto che nella finestra delle proprietà è presente
    Be', ma l'ID presente nella finestra delle proprietà si riferisce all'ID che gli verrà dato a runtime.
    Solo non so come accedervi , sai cosa sono le property page?
    So cosa sono, ma credo che sia un gran casino tentare di interagirci...
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #17
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    come siamo a cavallo?
    di un asino forse!?
    Il fatto che a runtime funzioni non cambia niente purtroppo quando inserisco un id come visualizza il testo corretto preso dalla string table?
    nella mia finestra delle proprietà pero' c'è l'id giusto,se solo potessi prendere il valore...
    ho pensato 2 soluzioni,dimmi un po' il tuo parere:
    1)fare non so come un override della proprietà id che non è una stock property e neanche una custom property,non so che tipo di proprietà potrebbe essere una proprietà di ambiente o del container?

    2)usare la funzione getproperty dell' automazione activex ole che non so come funzioni.
    ciao Mitaly

  8. #18
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    scusa mitaly,ma ho il sospetto che design time l'id ritornato sia un indirizzo di memoria,sapresti come fare coi puntatori ad andare a prendere il valore?
    io è poco che programmo in c++.
    in alternativa mi basterebbe passare dal file di testo .rc una variabile int al controllo e compilare, ma non riesco a farlo.

  9. #19
    Originariamente inviato da giuseppe500
    come siamo a cavallo?
    di un asino forse!?
    Il fatto che a runtime funzioni non cambia niente purtroppo quando inserisco un id come visualizza il testo corretto preso dalla string table?
    Lo visualizzerà solo a runtime... in effetti è solo lì che serve effettivamente.
    nella mia finestra delle proprietà pero' c'è l'id giusto,se solo potessi prendere il valore...
    Ti ripeto che quella proprietà ID secondo me è una proprietà che aggiunge il designer di dialog di VisualStudio per decidere cosa inserire nel file .rc e nel resource.h, e pertanto non può essere toccata in alcun modo dal controllo.
    scusa mitaly,ma ho il sospetto che design time l'id ritornato sia un indirizzo di memoria,sapresti come fare coi puntatori ad andare a prendere il valore?
    io è poco che programmo in c++
    Io invece continuo a sostenere la mia tesi (ossia che si tratti di un ID che VS assegna al controllo solo temporaneamente). Comunque se proprio credi che a design time sia un indirizzo...
    codice:
    int ctrlID;
    ctrlID = *((int *) ::GetCtrlID(m_hWnd));
    Se tutto va bene ti restituirà un valore senza senso, nel caso peggiore invece ti insulterà dicendo che la memoria non poteva essere read.
    In ogni caso se fai la prova con il pulsante "Verifica finestra di dialogo" (vedi immagine allegata) gli ID vengono visti correttamente?
    Immagini allegate Immagini allegate
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #20
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    avevi ragione , scusa se ho dubitato non è un indirizzo.
    pero' quando premo il pulsante di preview del dialog non va come sperato.
    dammi un piccolo consiglio o link su che argomento che secondo te' è utile per finire questo lavoro,ormai è troppo che ci sono su'.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.