Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Problemas al abrir un archivo creado por mi aplicación

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Problemas al abrir un archivo creado por mi aplicación Responder citando

Hola,
Estoy haciendo el instalador de mi aplicación utilizando inno setup. Necesito registrar la extensión de los archivos que genera mi aplicación, lo cual hago desde el instalador (al menos lo intento). Para ello pongo el siguiente código en el instalador:

Código:

[Registry]
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MiArchivo"; Flags: uninsdeletevalue

Root: HKCR; Subkey: "MiArchivo"; ValueType: string; ValueName: ""; ValueData: "Mi archivo"; Flags: uninsdeletekey

Root: HKCR; Subkey: "MiArchivo\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MiPrograma.EXE,0"

Root: HKCR; Subkey: "MiArchivo\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MiPrograma.EXE"" ""%1"""


Bien, la extensión sí la registra, le asocia el icono correcto, peeeero: al hacer doble click sobre un archivo .myp en el explorador de windows se abre mi aplicación, pero solo la ventana padre, no se abre ninguna ventana hija, con lo cual no se ve la info del registro, ya que ésta aparece toda en la ventana hija, ¿me podeis ayudar?

Gracias!
Volver arriba
Mensaje    Asunto: Responder citando

Ese es el comportamiento normal. Cuando tu programa se ejecuta así es exactamente lo mismo que cuando lo ejecutas pasándole algún argumento. En este caso el argumento es el nombre del archivo sobre el que pulsaste y lo recibes en:

    String miArchivo = _argv[1];

o bien en:

    String miArchivo = ParamStr(1);

Ya teniendo esto en cuenta, eres tú quien debe actuar en consecuencia, abriendo un form secundario o lo que necesites.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Muchas gracias _Leo, ya había conseguido que funcionara, tal y como dices. Ahora ya lo logro que se abra la ventana hija al hacer doble click sobre un archivo asociado. Pero tengo otro problema que me trae de cabeza. A ver si me explico bien:
Tengo que hacer mi palicación en varios idiomas. Para ello estoy metiendo todos los textos en ficheros .INI: idiomaes.INI, idiomaen.INI (son los que tengo de momento).
En el evento OnCreate de cada ventana abro el fichero y leo las etiquetas correspondientes:
TIniFile *Ini=new TIniFile (".\\idioma.ini");

En el instalador (inno setup), guardo como idioma.ini el fichero que corresponda según el usuario utilice inglés o castellano para la instalación:


[Languages]
Name: en; MessagesFile: "compiler:Default.isl"
Name: es; MessagesFile: "compiler:Languages\Spanish.isl"


[Messages]
en.BeveledLabel=English
es.BeveledLabel=Español

[FILES]:

...
Source: "idiomaen.ini"; DestName: "idioma.ini"; DestDir: "{app}"; Languages: en
Source: "idiomaes.ini"; DestName: "idioma.ini"; DestDir: "{app}"; Languages: es

Esto funciona perfectamente si abro la aplicación, pero si quiero abrir un archivo asociado, no aparecen los textos de las ventanas, como si no encontrara el archivo idioma.ini

¡¡Ayuda!!

Muchas gracias!
Volver arriba
Mensaje    Asunto: Responder citando

Para que busque el .ini en el directorio donde esta nuestra aplicación y no donde esta el archivo que intentamos abrir, prueba con lo siguiente:
Código:
String AppPath = ExtractFilePath(Application->ExeName);
TIniFile* Ini = new TIniFile (AppPath + "idioma.ini");
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Parece que últimamente te leo el pensamiento, jaja. Entré para deciros que ya lo había solucionado y ¡zas!, leo tu respuesta. Y efectivamenete el problema estaba ahí. Gracias de todas formas!!
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.