Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
Брат   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.036 c
6-1092814132
Sergey Vorobyev
2004-08-18 11:28
2004.10.24
Как настроить шлюз?


1-1097500966
3J106UH
2004-10-11 17:22
2004.10.24
Помощь по по listbox и memo


14-1096609614
European
2004-10-01 09:46
2004.10.24
BreakPoints


14-1096962441
NewDelpher
2004-10-05 11:47
2004.10.24
Полет герр Думкопфа


4-1095696470
GrEG
2004-09-20 20:07
2004.10.24
Проблема с ReadDirectoryChangesW





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский