Главная страница
    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.49 MB
Время: 0.049 c
14-1096798972
Jdmh
2004-10-03 14:22
2004.10.24
нужна небольшая утилита, в обмен на музыку


3-1096103454
Новенький
2004-09-25 13:10
2004.10.24
Вопрос по Rave Report


3-1096469759
Ivan_
2004-09-29 18:55
2004.10.24
Обновление информации у всех пользователей


3-1096450101
Artem777
2004-09-29 13:28
2004.10.24
Слишком большое колличество курсоров


1-1097177335
Wish
2004-10-07 23:28
2004.10.24
TValueListEditor





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский