PDA

Ver la Versión Completa : Problema Archivo .INI con Inno SetUp 5


VRO
10-01-2005, 10:30:46
Hola, he creado mi instalador con Inno setUp5 y me va muy bien, pero he necesitado crear un formulario con ISFD para registrar los datos personales del cliente y la empresa, con Inno SetUp lo puedo hacer pero el número de casillas asignadas para ello se me sale del formulario predeterminado, entonces pensé en hacerlo con ISFD pero cuando meto el script que me genera en el [Code] del script en Inno SetUp me da un error en todas las instruciones que lleven:

ScriptDlgPage...

y no se a que se debe, igual es que tengo q declarar algo.
He estado buscando inforemación en Internet y en la ayuda de ambas herramientas pero no encuentro nada.

POr favor si alguien puiera ayudarme es muy urgente.


Gracias por vuestra ayuda

Héctor Randolph
10-01-2005, 17:47:31
Hola VRO!

Te tengo una muy mala noticia las versiones de Inno Setup 5 o superiores ya no son soportadas por ISFD debido a algunos cambios que hubo en la forma de generar Formas personalizadas en Inno Setup.

El pasado 28 de diciembre del 2004 apareció la noticia de que una nueva versión de ISFD sería liberada para dar soporte a versiones del compilador 5 o superiores, sin embargo, avisaron que tardarían aproximadamente tres semanas a partir de esa fecha.

Puedes leer la nota en esta página

ISFD and Inno Setup 5.0.x (http://isfd.kaju74.de/index.php?id=2,42,0,0,1,0)

Asi que hay que tener paciencia mientras liberan la nueva versión y por lo pronto tendrás que trabajar sin ISFD.

Un Saludo.

VRO
10-01-2005, 18:33:29
Gracias por tu respuesta, he conseguido hacerlo con el My Inno SetUp Extension más ó menos , con algunos arreglillos sale.

Muchas gracias

VRO
10-01-2005, 18:45:36
Aprovecho para acerte otra pregunta, verás en el Script de Inno SetUp estoy haciendo un archivo INI siguiendo el siguiente ejemplo:

[ini]
Filename: "{src}\_issi.ini"; Section: "ISSI"; Key: "issi_datestring"; String: {code:GetMyStringNow|''}


lo que a mi me ocurre es que creo bien el archivo .ini, pero no me escribe la variable que quiero guardar en la parte String, la variable que yo utilizo es de tipo TInputQueryWizardPage que poniedo variable.values[0] la convertimos en String.

Si alguien sabe lo queestoy haciendo mal agradecería mucho su ayuda.

Gracias de antemano, espero que estiendan mi explicación , si no es así comuniquemenlo

Gracias

VRO
10-01-2005, 19:33:34
Hola esta pregunta está hecha también en un hilo de ISFD, pero la posteo aquí porque creo que no tiene sentido y mucha gente ni se iva a fijar, verás en el Script de Inno SetUp estoy haciendo un archivo INI siguiendo el siguiente ejemplo:


[ini]
Filename: "{src}\_issi.ini"; Section: "ISSI"; Key: "issi_datestring"; String: {code:GetMyStringNow|''}


donde GetMyStringNow es una función que devuelve un String.
Lo que a mi me ocurre es que creo bien el archivo .ini, pero no me escribe la variable que quiero guardar en la parte String, la variable que yo utilizo es de tipo TInputQueryWizardPage que poniedo variable.values[0] la convertimos en String.

Si alguien sabe lo queestoy haciendo mal agradecería mucho su ayuda.

Gracias de antemano, espero que estiendan mi explicación , si no es así comuniquemenlo

Gracias

marcoszorrilla
10-01-2005, 19:50:23
No se debe abrir otro hilo para preguntar lo mismo, si alguien conoce la respuesta te responderá en este mismo hilo.

Un Saludo.

VRO
12-01-2005, 17:41:50
POr si alguien le interesa, ya encontré como hacer el archivo INI, es muy fácil y en el ejemplo que puse en el hilo se ve claramante, lo que hace el ocecarse...... y estar cansada.

Pues bien aqui os paso en código la forma en el que lo hice:



function GetUser(S: String): String;
begin
{ Return a user value }
{ Could also be splitted into separate GetUserName and GetUserCompany functions }
if S = 'Nombre y nif' then
Result := UserPage.Values[0]
else if S = 'Empresa' then
Result := UserPage.Values[1]
else if S = 'Direccion, población y provincia' then
Result := UserPage.Values[2]
else if S = 'Teléfono y fax' then
Result := UserPage.Values[3];

if S = 'Nombre Servidor' then
Result := UsagePage.Values[0]
else if S = 'Nombre usuario Base de datos' then
Result := UsagePage.Values[1]
else if S = 'Contraseña' then
Result := UsagePage.Values[2];
end;


end.

[INI]
Filename: "{win}\Contadores1.ini"; Section: "REGISTRAR"; Key: "Nombre y Nif"; String: {code:GetUser|Nombre y nif}
Filename: "{win}\Contadores1.ini"; Section: "REGISTRAR"; Key: "Empresa"; String: {code:GetUser|Empresa}
Filename: "{win}\Contadores1.ini"; Section: "REGISTRAR"; Key: "Dirección, población y provincia"; String: {code:GetUser|Direccion, población y provincia}
Filename: "{win}\Contadores1.ini"; Section: "REGISTRAR"; Key: "Teléfono y fax"; String: {code:GetUser|Teléfono y fax}
Filename: "{win}\Contadores1.ini"; Section: "SERVIDOR"; Key: "Nombre Servidor"; String: {code:GetUser|Nombre Servidor}
Filename: "{win}\Contadores1.ini"; Section: "SERVIDOR"; Key: "Nombre usuario Base de datos"; String: {code:GetUser|Nombre usuario Base de datos}
Filename: "{win}\Contadores1.ini"; Section: "SERVIDOR"; Key: "Contraseña"; String: {code:GetUser|Contraseña}



Lo que he hecho es crear una función llamada GetUser que devuelve un String, este String es el que va a quedar grabado en el archivo.ini.Escribo la instruccion por cada uno de los datos que devuelve la funciín, es decir, por cada uno de los datos que quiero grabar en el INI

Espero que sirva de ayuda a alguien

Gracias por toda la ayuda que me han prestado