Faço o seguinte código para que quando a aplicação o DataModule verificque se 
existe o arquivo ini, só que quando não existe ele cria, más ele não escreve no 
arquivo, já na segunda execução ele escreve no arquivo ini corretamente, o que 
devo faer.
Codigo:
unit uDM;
interface
uses
  SysUtils, Classes, DB, ADODB, ExtCtrls, StdCtrls ,IniFiles,
  Windows, Messages, Variants, Graphics, Controls, Forms,
  Dialogs, Mask, Menus, Buttons;
type
  TDM = class(TDataModule)
    acDBSIGA: TADOConnection;
    atPolos: TADOTable;
    atPolosPOLO_ID: TWideStringField;
    atPolosCIDADE: TWideStringField;
    atPolosID_UF: TWideStringField;
    atUFs: TADOTable;
    atPredios: TADOTable;
    atPrediosPREDIO_ID: TWideStringField;
    atPrediosNOME_PREDIO: TWideStringField;
    atPrediosENDERECO: TWideStringField;
    atPrediosCOMPLEMENTO: TWideStringField;
    atPrediosBAIRRO: TWideStringField;
    atPrediosID_POLO: TWideStringField;
    atPrediosID_UF: TWideStringField;
    atPrediosCEP: TWideStringField;
    atPrediosFONE1: TWideStringField;
    atPrediosFONE2: TWideStringField;
    atPrediosFAX: TWideStringField;
    atPrediosE_MAIL: TWideStringField;
    atPrediosHOME_PAGE: TWideStringField;
    atPrediosCNPJ: TWideStringField;
    atSalas: TADOTable;
    atSalasSALA_ID: TWideStringField;
    atSalasSALA: TWideStringField;
    atSalasID_PREDIO: TWideStringField;
    atSalasID_POLO: TWideStringField;
    atSalasID_UF: TWideStringField;
    atDepartamentos: TADOTable;
    procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  DM: TDM;
  ArqIni: TIniFile;
  BaseDeDados: String;
implementation
uses uPrincipal;
{$R *.dfm}
procedure TDM.DataModuleCreate(Sender: TObject);
var
  i: Integer;
begin
  if not FileExists(ExtractFilePath(Application.ExeName)+'config.ini') then
  begin
     FileCreate(ExtractFilePath(Application.ExeName)+'config.ini');
     ArqIni := 
TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');
     
ArqIni.WriteString('acesso','banco',(ExtractFilePath(Application.ExeName)+'Dados\dbisiga.mdb'));
     BaseDeDados := ArqIni.ReadString('acesso','banco','');
     acDBSiga.ConnectionString := BaseDeDados;
     acDBSiga.Connected := TRUE;
     for i := 0 to ComponentCount - 1 do
     begin
        if Components[i] is TADOTable then
        (Components[i] as TADOTable).Active := TRUE;
     end;
     ArqIni.Free;
  end
  else
  ArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');
  
ArqIni.WriteString('acesso','banco',(ExtractFilePath(Application.ExeName)+'Dados\dbisiga.mdb'));
  BaseDeDados := ArqIni.ReadString('acesso','banco','');
  acDBSiga.ConnectionString := BaseDeDados;
  acDBSiga.Connected := TRUE;
  for i := 0 to ComponentCount - 1 do
  begin
    if Components[i] is TADOTable then
      (Components[i] as TADOTable).Active := TRUE;
  end;
  ArqIni.Free;
end;
end.
 
Tb tenho o seguinte problema, no meu formulario principal que é um MDI form, 
faço o seguinte para a chamada dos forms filhos, só que quando vou chamá-los 
dinovo, o o programa envia uma msg informando que não foi possivel ler o 
endereço X(por exemplo), pesso que se possivel analisem o codigo e me indiquem 
onde se entra o erro.
codigo:
unit uPrincipal;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ComCtrls, ToolWin, Menus, JvExComCtrls, JvComponent,
  JvgTreeView, ExtCtrls, JvExExtCtrls, JvClock, StdCtrls, JvDialogs,
  JvExStdCtrls, JvEdit, JvDotNetControls, JvMemo, ImgList;
type
  TfrmPrincipal = class(TForm)
    ToolBar1: TToolBar;
    JvClock1: TJvClock;
    odlgAnotacoes: TJvOpenDialog;
    sdlgAnotacoes: TJvSaveDialog;
    memoAnotacoes: TJvDotNetMemo;
    pumAnotacoes: TPopupMenu;
    Salvar1: TMenuItem;
    Abrir1: TMenuItem;
    trvMenu: TTreeView;
    ImageList1: TImageList;
    procedure trvMenuClick(Sender: TObject);
    procedure Salvar1Click(Sender: TObject);
    procedure Abrir1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  frmPrincipal: TfrmPrincipal;
implementation
uses uPolos, uPredios, uSalas, uTabelas, uDepartamentos;
{$R *.dfm}
procedure TfrmPrincipal.trvMenuClick(Sender: TObject);
begin
  if trvMenu.Selected.Text = 'Polos' then
  begin
    if frmPolos = nil then
    begin
      Application.CreateForm(TfrmPolos, frmPolos);
      frmPolos.Left := 0;
      frmPolos.Top := 0;
    end//fim do if frmpolos = nil
    else
    begin
      frmPolos.SetFocus;
    end;
  end
  else
  if trvMenu.Selected.Text = 'Prédios' then
  begin
    if frmPredios = nil then
    begin
      Application.CreateForm(TfrmPredios, frmPredios);
      frmPredios.Left := 0;
      frmPredios.Top := 0;
    end
    else
    begin
      frmPredios.SetFocus;
    end;
  end
  else
  if trvMenu.Selected.Text = 'Salas' then
  begin
    if frmSalas = nil then
    begin
      Application.CreateForm(TfrmSalas, frmSalas);
      frmSalas.Left := 0;
      frmSalas.Top := 0;
    end
    else
    begin
      frmSalas.SetFocus;
    end;
  end
  else
  if trvMenu.Selected.Text = 'Departamentos' then
  begin
    if frmDepartamentos = nil then
    begin
      Application.CreateForm(TfrmDepartamentos, frmDepartamentos);
      frmDepartamentos.Left := 0;
      frmDepartamentos.Top := 0;
    end
    else
    begin
      frmDepartamentos.SetFocus;
    end;
  end
  else
end;
procedure TfrmPrincipal.Salvar1Click(Sender: TObject);
begin
  if sdlgAnotacoes.Execute then
    memoAnotacoes.Lines.SaveToFile(sdlgAnotacoes.FileName);
end;
procedure TfrmPrincipal.Abrir1Click(Sender: TObject);
begin
  if odlgAnotacoes.Execute then
    memoAnotacoes.Lines.LoadFromFile(odlgAnotacoes.FileName);
end;
end.
 
Eneias Sousa Carvalho.

                
---------------------------------
Yahoo! Acesso Grátis: Internet rápida e grátis. Instale o discador agora!

[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a