Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Не запускается приложение   Найти похожие ветки 

 
Брат   (2004-10-07 12:24) [0]

Может быть у кого-то было такое... Нажимаю выполнить проект и... ничего не происходит, хотя до этого все было ок. Ничего не менял в коде. Вот коды проекта и форм(вылаживаю на всякий случай все). Помогите, не пойму в чем дело.

Проект:
program F412_User;

uses
 Forms,
 untMain in "untMain.pas" {frmMain},
 untOptions in "untOptions.pas" {frmOptions},
 untQueryPassword in "untQueryPassword.pas" {frmQueryPassword};

{$R *.res}

begin
 Application.Initialize;
 Application.Title := "User_F412";
 Application.CreateForm(TfrmMain, frmMain);
 Application.CreateForm(TfrmOptions, frmOptions);
 Application.CreateForm(TfrmQueryPassword, frmQueryPassword);
 Application.Run;
end.

Главная форма:
unit untMain;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Grids, DBGridEh, ExtCtrls, RXCtrls, StdCtrls, Buttons, DB,
 IBCustomDataSet, IBTable, IBDatabase;

type
 TfrmMain = class(TForm)
   Panel1: TPanel;
   DBGridTables: TDBGridEh;
   btnOpenTable: TBitBtn;
   btnCreateTable: TBitBtn;
   btnEditTable: TBitBtn;
   btnDeleteTable: TBitBtn;
   btnDovidniki: TBitBtn;
   RxLabel1: TRxLabel;
   RxLabel2: TRxLabel;
   RxLabel3: TRxLabel;
   btnForms412: TBitBtn;
   Bevel1: TBevel;
   Bevel2: TBevel;
   Bevel3: TBevel;
   btnExit: TBitBtn;
   Bevel4: TBevel;
   btnOptions: TBitBtn;
   IBDatabase: TIBDatabase;
   IBTableTables: TIBTable;
   IBTransaction: TIBTransaction;
   DataSource1: TDataSource;
   procedure btnExitClick(Sender: TObject);
   procedure FormShow(Sender: TObject);
   procedure btnOptionsClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 frmMain: TfrmMain;

implementation

uses untQueryPassword, untOptions;

{$R *.dfm}

procedure TfrmMain.btnExitClick(Sender: TObject);
begin
 Close;
end;

procedure TfrmMain.FormShow(Sender: TObject);
begin
 frmQueryPassword.ShowModal;
end;

procedure TfrmMain.btnOptionsClick(Sender: TObject);
begin
 frmOptions.ShowModal;
end;

end.

frmQueryPassword:
unit untQueryPassword;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, RXCtrls, Buttons, DB, IBCustomDataSet, IBTable, IniFiles;

type
 TfrmQueryPassword = class(TForm)
   GroupBox1: TGroupBox;
   RxLabel1: TRxLabel;
   RxLabel2: TRxLabel;
   cbUserName: TComboBox;
   edtUserPassword: TEdit;
   CheckBox1: TCheckBox;
   btnOK: TBitBtn;
   btnCancel: TBitBtn;
   IBTableUsers: TIBTable;
   procedure btnCancelClick(Sender: TObject);
   procedure btnOKClick(Sender: TObject);
   procedure FormActivate(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure cbUserNameChange(Sender: TObject);
 private
   { Private declarations }
   procedure WriteToIniDefaultUser;
 public
   { Public declarations }
 end;

var
 frmQueryPassword: TfrmQueryPassword;
 LinkError : Boolean;
 DefaultUser : String[30];
 NomDefaultUser : Integer;

implementation

uses untMain, untOptions;

{$R *.dfm}

procedure TfrmQueryPassword.btnCancelClick(Sender: TObject);
begin
 //
 frmMain.Close;
end;

procedure TfrmQueryPassword.WriteToIniDefaultUser;
var ConfigDB : TIniFile;
begin
 //
 if CheckBox1.Checked then
   DefaultUser:=cbUserName.Items[cbUsername.ItemIndex]
 else
   DefaultUser:="";
 //
 ConfigDB:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"Config_u.ini");
 ConfigDB.WriteString("GENERAL","DefaultUser",DefaultUser);
 ConfigDB.Free;
end;

procedure TfrmQueryPassword.btnOKClick(Sender: TObject);
begin
 //
 if edtUserPassword.Text=Trim(IBTableUsers.FieldByName("USER_PASSWORD").AsString) then
   begin
     
     //
     Close;
   end
 else
   begin
     MessageDlg("Неверный пароль!",mtError,[mbOK],0);
     edtUserPassword.Text:="";
     edtUserPassword.SetFocus;
   end;
end;

procedure TfrmQueryPassword.FormActivate(Sender: TObject);
begin
 //
 edtUserPassword.SetFocus;
end;

procedure TfrmQueryPassword.FormCreate(Sender: TObject);
var i : Integer;
   ConfigDB : TIniFile;
begin
 //
 ConfigDB:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"Config_u.ini");
 DefaultUser:=ConfigDB.ReadString("GENERAL","DefaultUser","");
 ConfigDB.Free;
 //
 if DefaultUser<>"" then CheckBox1.Checked:=True;
 //
 frmMain.IBDatabase.Connected:=False;
 frmMain.IBDatabase.DatabaseName:=frmOptions.edtDBPath.Text;
 frmMain.IBDatabase.Params.Add(frmOptions.edtDBName.Text);
 frmMain.IBDatabase.Params.Add(frmOptions.edtDBPassword.Text);
 try
   //
   frmMain.IBDatabase.Connected:=True;
   LinkError:=False;
 except
   if MessageDlg("Ошибка подключения к базе."+#13#10+
     "Открыть окно настроек?",
     mtConfirmation,[mbYes,mbNo],0)=mrYes then
     begin
       //
       LinkError:=True;
       frmOptions.ShowModal;
     end
   else
     begin
       //
       frmMain.Close;
     end;
 end;
 //
 IBTableUsers.Active:=True;
 //
 IBTableUsers.FetchAll;
 IBTableUsers.First;
 for i:=1 to IBTableUsers.RecordCount do
   begin
     cbUserName.Items.Add(Trim(IBTableUsers.FieldByName("USER_NAME").AsString));
     if Trim(IBTableUsers.FieldByName("USER_NAME").AsString)=DefaultUser then
       cbUserName.ItemIndex:=IBTableUsers.RecNo-1;
     IBTableUsers.Next;
   end;

 //
 IBTableUsers.FetchAll;
 IBTableUsers.First;
 NomDefaultUser:=0;
 for i:=1 to IBTableUsers.RecordCount do
   begin
     if IBTableUsers.FieldByName("USER_NAME").AsString=DefaultUser then
       begin
         cbUserName.ItemIndex:=IBTableUsers.RecNo-1;
         NomDefaultUser:=IBTableUsers.RecNo;
       end;
     IBTableUsers.Next;
   end;
 //
 IBTableUsers.First;
 while IBTableUsers.RecNo<>NomDefaultUser do IBTableUsers.Next;
end;

procedure TfrmQueryPassword.FormClose(Sender: TObject;
 var Action: TCloseAction);
begin
 WriteToIniDefaultUser;
end;

end.


 
Ega23 ©   (2004-10-07 12:26) [1]

А что F7 показывает?


 
Amoeba ©   (2004-10-07 12:33) [2]

Прочти вот это и сразу увидишь в ОШИБКУ В ФАЙЛЕ ПРОЕКТА.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=765
Так делать нельзя!
Application.Title := "User_F412";


 
Брат   (2004-10-07 12:36) [3]

Я понял в чем дело:
я перед этим заменил строку

while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;

на строку

while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;

Казалось бы одно и то же но не работает... Не пойму все равно...
Поставил назад - все запускается:


 
Брат   (2004-10-07 12:38) [4]


> Брат   (07.10.04 12:36) [3]

Здесь ошибка читать так:
я перед этим заменил строку

while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;
на строку

while IBTableUsers.RecNo<>NomDefaultUser do IBTableUsers.Next;
Казалось бы одно и то же но не работает... Не пойму все равно...
Поставил назад - все запускается:


 
Gero ©   (2004-10-07 12:40) [5]


> Я понял в чем дело:
> я перед этим заменил строку
>
> while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;
>
> на строку
>
> while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;
>
> Казалось бы одно и то же но не работает... Не пойму все
> равно...

- Видишь суслика?
- Нет.
- И я не вижу. А он есть.
(c) Дмб


 
Брат   (2004-10-07 12:44) [6]


> Gero ©   (07.10.04 12:40) [5]

смотри сюда:
Брат   (07.10.04 12:38) [4]

> Брат   (07.10.04 12:36) [3]

Здесь ошибка читать так:
я перед этим заменил строку

while not IBTableUsers.RecNo=NomDefaultUser do IBTableUsers.Next;
на строку

while IBTableUsers.RecNo<>NomDefaultUser do IBTableUsers.Next;
Казалось бы одно и то же но не работает... Не пойму все равно...
Поставил назад - все запускается:

;)


 
Gero ©   (2004-10-07 12:46) [7]

Это не одно и то же.
Вот
while not (IBTableUsers.RecNo=NomDefaultUser) do IBTableUsers.Next
и
while IBTableUsers.RecNo<>NomDefaultUser do IBTableUsers.Next
это одно и тоже.


 
Брат   (2004-10-07 12:58) [8]

ясно
спасибо :)


 
KSergey ©   (2004-10-07 13:21) [9]

> [4] Брат   (07.10.04 12:38)

Зацикливание и не работа - разные вещи, вообще-то.. Может это тот случай?



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.025 c
1-1097480490
Jann
2004-10-11 11:41
2004.10.24
ComboBox


4-1095877561
BillyJeans
2004-09-22 22:26
2004.10.24
TreeView на API...


1-1097482169
serg!
2004-10-11 12:09
2004.10.24
Hint для любой ячейки TDBGrid


9-1087948839
Алекс А
2004-06-23 04:00
2004.10.24
GLScene овский редактор ODE: Как можно из него сохранять модели ?


14-1096874987
vopros
2004-10-04 11:29
2004.10.24
Что за дрянь такая?