Hola buenas, tengo el siguiente error:
* He creado una pequeña aplicación que se conecta a varias tablas de una aplicación principal (FireBird el manejador) e imprime un formulario. La primera etapa de dicha aplicación se compiló y ejecuto en las PC Clientes perfectamente pero con algunas mejoras (Busqueda, Controles, etc) la aplicación no se ejecuta en las PC Cliente. Utilizo Delphi 6 y ningún componente externo, además uso Win 7 Pro 32Bits.
Las PC Cliente tienen Windows 7 Pro 32bits también.
He monitoreado la ejecución en el Task Manager y se ejecuta por unos segundos y se cierra automaticamente.
Les coloco todo el código, es una sola ventana y un QReport. Espero puedan ayudarme.
var
fBuscar: TfBuscar;
expediente : string;
implementation
uses Reporte, INIFiles;
{$R *.dfm}
//Lee la version de la aplicación
function GetAppVersion : string;
var Size, Size2: DWord;
Pt, Pt2: Pointer;
begin
Size := GetFileVersionInfoSize(PChar (ParamStr (0)), Size2);
if Size > 0 then
begin
GetMem (Pt, Size);
try
GetFileVersionInfo (PChar (ParamStr (0)), 0, Size, Pt);
VerQueryValue (Pt, '\', Pt2, Size2);
with TVSFixedFileInfo (Pt2^) do
begin
Result:= ' Versión '+
IntToStr (HiWord (dwFileVersionMS)) + '.' +
IntToStr (LoWord (dwFileVersionMS)) + ' Build ' +
IntToStr (HiWord (dwFileVersionLS)) + '.' +
IntToStr (LoWord (dwFileVersionLS));
end;
finally
FreeMem (Pt);
end;
end;
end;
//Calcula la edad
function Edad(AFechaNacimiento: TDateTime) : Integer;
begin
Result := Trunc((Date - AFechaNacimiento) / 365.25);
end;
procedure TfBuscar.BtnImprimirClick(Sender: TObject);
begin
if DBLookupComboBox1.Text = '' then //Evitando que no se imprima sin Quien atendió el Usuario
Begin
Showmessage('Debe seleccionar su USUARIO?');
DBLookupComboBox1.SetFocus;
end else
//Evitando que la ARS y PLAN esten en Blanco
If (ADOTable1ARS.AsString = '') or (ADOTable1PLAN_COBERTURA.AsString= '') then
Begin
Showmessage('ARS o PLAN de Cobertura del Paciente están en Blanco.');
Showmessage('ACTUALICE los Datos del Paciente en SIGHO.');
end else
Begin
expediente:= ADOTable1Expediente.Value;
//Label2.Caption:= 'IMPRESO EXP: '+expediente;
//BUSCANDO POR CODIGO LOS DETALLES
ADOTNac.Locate('NACIONALIDAD',ADOTable1NACIONALIDAD.AsString ,[]); //Nacionalidad
ADOTCiu.Locate('cod_ciudad',ADOTable1CIUDAD.AsString,[]); //Ciudad
ADOTMun.Locate('cod_munici',ADOTable1MUNICIPIO.AsString, []); //Municipio
ADOTProv.Locate('cod_pro',ADOTable1PROVINCIA.AsString,[]); //Provincia
ADOTARS.Locate('ARS',ADOTable1ARS.AsString,[]); //ARS
ADOTPlanARS.Locate('PLAN_COBERTURA',ADOTable1PLAN_COBERTURA.AsString,[]);//PlanxARS
procedure TfBuscar.BtnActualizarClick(Sender: TObject);
begin
Adotable1.Active:=False; //Desconecta Tabla
ADOTable2.Active :=False;
DBLookupComboBox1.Enabled:=False; //Inhabilito todo
BtnBuscar.Enabled:= False;
BtnImprimir.Enabled:=False;
BtnActualizar.Enabled:=False;
Adotable1.Active:=True; //Conecta Tabla
ADOTable2.Active :=True;
Showmessage('DATOS ACTUALIZADOS!');
DBLookupComboBox1.Enabled:=True; //Habilito todo
BtnBuscar.Enabled:= True;
BtnImprimir.Enabled:=True;
BtnActualizar.Enabled:=True;
end;
procedure TfBuscar.BtnSalirClick(Sender: TObject);
begin
Application.Terminate
end;
procedure TfBuscar.FormCreate(Sender: TObject);
var
MiConfIni:TIniFile;
Ruta: string;
DB:String;
Conexion:String;
begin
//Cargar datos del txt
Ruta := ExtractFileDir(ParamStr(0)) + '\conf.ini'; // Ruta desde donde se ejecuta el archivo Principal de la aplicación
MiConfIni:=TIniFile.Create(Ruta); //Creo la ruta completa al archivo ini
DB:= MiConfIni.ReadString('PATH','DB',''); //Leo el archivo ini
//Label5.Caption:= Ruta;
//Label6.Caption:= DB;
Conexion:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DB+';Persist Security Info=False;';
//Desactivo las conexiones
ADOConnection1.Connected:=False;
ADOCFAE.Connected:=False;
ADOConnection2.Connected:=False;
ADOCFAE.ConnectionString:=Conexion; //Coloco el string de conexion
//Desconectar tablas
ADOTFAE.Active:= False;
ADOTable1.Active:= False;
ADOTable2.Active := False;
ADOTARS.Active := False;
ADOTPlanARS.Active := False;
ADOTProv.Active := False;
ADOTMun.Active := False;
ADOTCiu.Active := False;
ADOTNac.Active := False;
//Activo las conexiones
// Try
ADOConnection1.Connected:=True;
ADOCFAE.Connected:=True;
ADOConnection2.Connected:=True;
ADOTFAE.Active:= True;
ADOTable1.Active:= True;
ADOTable2.Active := True;
ADOTARS.Active := True;
ADOTPlanARS.Active := True;
ADOTProv.Active := True;
ADOTMun.Active := True;
ADOTCiu.Active := True;
ADOTNac.Active := True;
ADOTFAE.Active:= True; //Conecto las Tabla
//except
//ShowMessage('ERROR AL CONECTAR LA BASE DE DATOS');
//end;
//Label5.Caption:= Conexion;
end;
procedure TfBuscar.BtnBuscarClick(Sender: TObject);
begin
If ComboBox1.ItemIndex = 0 then
Begin
if ADOTable1.Locate('EXPEDIENTE',Edit1.Text,[])= false then
Showmessage('Expediente no encontrado!');
Edit1.SetFocus
end
else If ComboBox1.ItemIndex = 1 then
begin
if ADOTable1.Locate('CEDULA',Edit1.Text,[])= false then
Showmessage('Cédula no encontrada!');
Edit1.SetFocus
end
else
if ADOTable1.Locate('NSS',Edit1.Text,[])= false then
Showmessage('NSS no encontrado!');
Edit1.SetFocus
end;
procedure TfBuscar.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
BtnBuscar.Click
end;
procedure TfBuscar.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin //Si ARS or PlaxARS estan vacios colorear Rojo
If (ADOTable1ARS.AsString = '') or (ADOTable1PLAN_COBERTURA.AsString= '') then
Begin
DBGrid1.Canvas.Brush.Color:= ClRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
Begin
IF (ADOTable1NSS.AsString <> '') and
(ADOTable1ARS.AsString <> '') and (ADOTable1PLAN_COBERTURA.AsString <> '') then
Begin
DBGrid1.Canvas.Brush.Color:= ClGreen;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
DBGrid1.Canvas.Brush.Color:= ClYellow;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
end;
procedure TfBuscar.Timer2Timer(Sender: TObject);
begin
//Colocando datos en el statusBar
StatusBar1.Panels[0].Text:= GetAppVersion;
StatusBar1.Panels[1].Text:= 'FECHA: '+(DatetoStr(Now))+' '+'HORA: '+(TimetoStr(now));
end;
procedure TfBuscar.IMPRIMIR1Click(Sender: TObject);
begin
//CLIC AL BOTON IMPRIMIR
BtnImprimir.Click
end;
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A