> Pessoal;
> 
> Vê se vcs consegue me ajudar. Tô estudando um programinha em Delphi de 
> cadastramento e atualização de Cd's e na elaboração do sistema, quando eu já 
> estava ligando a 1ª tabela deu um erro na unit principal do programa na linha 
> Application.Run. Tô a uma semana quebrando a cabeça e nada... 
> Pior que é um problema bobo, quando eu inicio o meu programa coloquei um form 
> fSplash (Janela About box), falando sobre o sistema, enquanto o usuário abre 
> o aplicativo. Alguem sabe?????
> 
> Olá o código:
> program CDDA;
> 
> uses
>   Forms,
>   fMenu in 'fMenu.pas' {F_Menu},
>   fSobre in 'fSobre.pas' {F_Sobre},
>   fSplash in 'fSplash.pas' {F_Splash},
>   DMModelo in 'DMModelo.pas' {DM_Modelo: TDataModule},
>   fCateg in 'fCateg.pas' {F_Categ};
> 
> {$R *.res}
> 
> begin
>   F_Splash:=TF_Splash.Create(Application);
>   F_Splash.Show;
>   F_Splash.Refresh;
>   Application.Initialize;
>   Application.Title := 'Compact Disc Digital Audio';
>   Application.HelpFile := 'C:\Sistema\CadDisco\Guia.hpl';
>   Application.CreateForm(TF_Menu, F_Menu);
>   Application.CreateForm(TF_Sobre, F_Sobre);
>   Application.CreateForm(TDM_Modelo, DM_Modelo);
>   Application.CreateForm(TF_Categ, F_Categ);
>   F_Splash.Free;
>   Application.Run; =====>>>>> O erro foi aki
> end.
> 
> Esta é o form principal
> 
> unit fMenu;
> 
> interface
> 
> uses
>   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
>   Dialogs, Menus, ComCtrls, DB, DBTables;
> 
> type
>   TF_Menu = class(TForm)
>     MainMenu1: TMainMenu;
>     Arquivo1: TMenuItem;
>     Consulta1: TMenuItem;
>     Tabela1: TMenuItem;
>     Cadastro1: TMenuItem;
>     N1: TMenuItem;
>     Sair1: TMenuItem;
>     ItemTabela1: TMenuItem;
>     ItemConsulta1: TMenuItem;
>     ItemConsulta2: TMenuItem;
>     Relatorio1: TMenuItem;
>     ItemRelatorio1: TMenuItem;
>     ItemRelatorio2: TMenuItem;
>     N2: TMenuItem;
>     ConfImpressora1: TMenuItem;
>     Auxlio1: TMenuItem;
>     ItemAuxilio1: TMenuItem;
>     Itemauxilio2: TMenuItem;
>     Itemauxilio3: TMenuItem;
>     ItemAuxilio4: TMenuItem;
>     LinhaStatus: TStatusBar;
>     DBDisco: TDatabase;
>     procedure FormCreate(Sender: TObject);
>     procedure Sair1Click(Sender: TObject);
>     procedure ItemAuxilio2Click(Sender: TObject);
>     procedure ItemAuxilio3Click(Sender: TObject);
>     procedure ItemAuxilio4Click(Sender: TObject);
>     procedure FormDestroy(Sender: TObject);
>     procedure ItemAuxilio1Click(Sender: TObject);
>     procedure ItemTabela1Click(Sender: TObject);
>   private
>     { Private declarations }
>     procedure ShowHint (Sender:TObject);
>   public
>     { Public declarations }
>     function CriticaEdicao (DSOrigem:TdataSource; DoQue, 
> AntesDe:String):boolean;
> 
>   end;
> 
> var
>   F_Menu: TF_Menu;
> 
> implementation
> 
> {$R *.dfm}
> 
> uses
> fSobre,fCateg;
> 
> function 
> TF_Menu.CriticaEdicao(DSOrigem:TDataSource;DoQue,AntesDe:String):boolean;
>  begin
>   if DSOrigem.State in[dsEdit,dsInsert] then
>    begin
>     MessageDlg('Cancele a Edição(ou Inserção)' + DoQue + 'antes de' + 
> AntesDe, mtError,[mbOk],0);
>     Result:=True;
>    end
>    else
>     Result:=False;
>  end;    
> 
> 
> procedure TF_Menu.ShowHint(Sender:TObject);
>  begin
>   LinhaStatus.Panels.Items[0].text:=Application.Hint;
>  end;
> 
> 
> procedure TF_Menu.FormCreate(Sender: TObject);
> begin
>  Application.OnHint:=ShowHint;
>  DBDisco.Connected:=True;
> end;
> 
> procedure TF_Menu.Sair1Click(Sender: TObject);
> begin
> Close;
> end;
> 
> procedure TF_Menu.Itemauxilio2Click(Sender: TObject);
> begin
>  Application.HelpCommand(HELP_CONTENTS,0);
> end;
> 
> procedure TF_Menu.Itemauxilio3Click(Sender: TObject);
> const
> EmptyString:pChar='';
> begin
>   Application.HelpCommand(HELP_PARTIALKEY, LongInt(EmptyString));
> end;
> 
> procedure TF_Menu.ItemAuxilio4Click(Sender: TObject);
> begin
> Application.HelpCommand(HELP_HELPONHELP,0);
> end;
> 
> procedure TF_Menu.FormDestroy(Sender: TObject);
> begin
> Application.HelpCommand(HELP_QUIT,0);
> end;
> 
> procedure TF_Menu.ItemAuxilio1Click(Sender: TObject);
> begin
>  With TF_Sobre.Create(Self) do
>   begin
>    ShowModal;
>    Free;
>   end;  
> end;
> 
> procedure TF_Menu.ItemTabela1Click(Sender: TObject);
> begin
>  Screen.Cursor:=crHourglass;
>  F_Categ:=TF_Categ.Create(Application);
>  F_Categ.Inicio;
>  F_Categ.Free;
>  Screen.Cursor:=crDefault;
> end;
> 
> end.
> 
> Este é o código referente ao BD
> 
> unit DMModelo;
> 
> interface
> 
> uses
>   SysUtils, Windows, Classes, Graphics, Controls,
>   Forms, Dialogs, DB, DBTables;
> 
> type
>   TDM_Modelo = class(TDataModule)
>     TabCategorSIG_CATEG: TStringField;
>     TabCategorDES_CATEG: TStringField;
>     DSCategor: TDataSource;
>     TabCategor: TTable;
>     TabCategorConf: TTable;
>     StringField1: TStringField;
>     StringField2: TStringField;
>     procedure TabCategorAfterPost(DataSet: TDataSet);
>     procedure TabCategorSIG_CATEGValidate(Sender: TField);
>     procedure TabCategorNewRecord(DataSet: TDataSet);
>   private
>     { private declarations }
>   public
>     { public declarations }
>   end;
> 
> var
>   DM_Modelo: TDM_Modelo;
> 
> implementation
> 
> {$R *.DFM}
> 
> uses
> fMenu,
> fCateg;
> 
> procedure TDM_Modelo.TabCategorAfterPost(DataSet: TDataSet);
> begin
>  if F_Menu.DBDisco.IsSqlbased then
>   begin
>    F_Menu.DBDisco.Commit;
>    F_Menu.DBDisco.StartTransaction;
>   end; 
> end;
> 
> procedure TDM_Modelo.TabCategorSIG_CATEGValidate(Sender: TField);
> begin
>    if DSCategor.State in [dsEdit,dsInsert] then
>     if TabCategorConf.FindKey([TabCategorSIG_CATEG]) then
>      begin
>       F_Categ.SetFocus;
>       raise Exception.Create('Sigla da categoria duplicado'#10 + 'Click no 
> botão "Localiza" em caso de dúvida');
>      end;
> 
> end;
> 
> procedure TDM_Modelo.TabCategorNewRecord(DataSet: TDataSet);
> begin
>  F_Categ.SetFocus;
> end;
> 
> end.
> 
> 
> unit fCateg;
> 
> interface
> 
> uses
>   Windows, Messages, Classes, SysUtils, Graphics, Controls, StdCtrls, Forms,
>   Dialogs, DBCtrls, DB, Mask, ExtCtrls, Buttons;
> 
> type
>   TF_Categ = class(TForm)
>     ScrollBox: TScrollBox;
>     Label1: TLabel;
>     Label2: TLabel;
>     DBNavigator: TDBNavigator;
>     Panel1: TPanel;
>     Panel2: TPanel;
>     Panel3: TPanel;
>     ButFechar: TBitBtn;
>     ButLocalizar: TBitBtn;
>     procedure FormClose(Sender: TObject; var Action: TCloseAction);
>     procedure ButLocalizarClick(Sender: TObject);
> 
> 
>   public
>     { public declarations }
>   procedure inicio;
>   end;
> 
> var
>   F_Categ: TF_Categ;
> 
> implementation
> 
> {$R *.DFM}
> 
> uses FMenu,
>      DMModelo;
> 
> procedure TF_Categ.inicio;
>  begin
>   if F_Menu.DBDisco.IsSQLBased then
>    F_Menu.DBDisco.StartTransaction;
>    DM_Modelo.TabCategor.Open;
>    Screen.Cursor:=crDefault;
>    ShowModal;
>  end;  
> 
>  procedure TF_Categ.FormClose(Sender:TObject; var Action: TCloseAction);
>   begin
>    if F_Menu.CriticaEdicao(DM_Modelo.DSCategor,'Categoria', 'fechar') then
>     begin
>      Action:=caNone;
>      Exit;
>     end;
>   Screen.Cursor:=crHourGlass;
>   Close;
>   if F_Menu.DBDisco.IsSQLBased then
>    F_Menu.DBDisco.Commit;
>   end;
> 
> procedure TF_Categ.ButLocalizarClick(Sender:TObject);
> var
>  ObjPesquisa:String;
>  begin
>   if F_Menu.CriticaEdicao(DM_Modelo.DSCategor,'Categoria','localizar') then
>   Exit;
>   ObjPesquisa:=DM_Modelo.TabCategorSig_Categ.Value;
>   if InputQuery('Entre com a sigla da Categoria', 'Sigla', ObjPesquisa) then
>   MessageDlg('Sigla da Categoria não encontrada.',mtInformation,[mbOK],0);
>  end;
> 
> end.
> 
> 
> Att.
> André Ferreira
> Brasilsaúde Cia de Seguros
> 


[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