Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доброго всем дня....подскажите пожалуйста.....вроде делаю правиль [D7, XP]


Страницы:   1 2

BaBayka007 ©   (2006-02-27 13:01:00) 

Доброго всем дня....подскажите пожалуйста.....вроде делаю правильно, а коннект к БД (FB) не идет...Имеется главная форма/ форма для ввода пароля логина/ дата модуль.........При запуске появляется форма ввода пароля на ней две кнопки ВХОД и ВЫХОД ...после вводе данных прользователя жмем ВХОД и если они верны происходит открытие главной формы с коннектом к БД...словом все стандартно....но этого не происходит....вылетает кривая ошибка и все....... Что сделал так???

procedure TFLogin.BtnInterClick(Sender: TObject);
begin
DataModule1.pFIBDatabase1.ConnectParams.UserName := FLogin.EdLogin.Text;
DataModule1.pFIBDatabase1.ConnectParams.Password := FLogin.EdPassword.Text;
try
DataModule1.pFIBDatabase1.Connected:=True;
DataModule1.pFIBDataSet1.Active:=True;
ModalResult := mrOK;
 Except
 ModalResult := mrNone;
 ShowMessage('олдрлдолдод лдолдолд.');
 end;
end;


BaBayka007   (2006-02-27 14:07:00) [21]


> КаПиБаРа

не совсем понял.....малограмотный я.....:)


КаПиБаРа   (2006-02-27 14:06:00) [22]

Лечится наверно так
begin
Application.Initialize;
Application.CreateForm(TDataModule1, DataModule1);
if IsLoginOK then
begin
 Application.CreateForm(TFEmpl, FEmpl);
 Application.Run;
end;

end.


КаПиБаРа   (2006-02-27 14:05:00) [23]

Ничего себе узелок завязал 8-|
Поставь точку останова на  Application.Initialize; и пройдись отладчиком F7


BaBayka007   (2006-02-27 13:58:00) [24]


> Desdechado

да....сори......:

program PrEmpl;

uses
 Forms,
 UEmpl in 'UEmpl.pas' {FEmpl},
 DMod in 'DMod\DMod.pas' {DataModule1: TDataModule},
 ULogin in 'FLogin\ULogin.pas' {FLogin};

{$R *.res}

begin
 Application.Initialize;
 if IsLoginOK then
 begin
  Application.CreateForm(TFEmpl, FEmpl);
  Application.CreateForm(TDataModule1, DataModule1);
  Application.Run;
 end;

end.


BaBayka007   (2006-02-27 13:57:00) [25]


> umbra

FLogin: TFLogin;


Desdechado   (2006-02-27 13:51:00) [26]

тебя просили dpr дать, а не pas


umbra   (2006-02-27 13:49:00) [27]

а  TFLogin - это главная форма приложения?


BaBayka007   (2006-02-27 13:45:00) [28]

Код формы ULogin:

unit ULogin;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TFLogin = class(TForm)
   EdLogin: TEdit;
   EdPassword: TEdit;
   BtnInter: TButton;
   BtnCancel: TButton;
   Label1: TLabel;
   Label2: TLabel;
   procedure BtnInterClick(Sender: TObject);
   procedure BtnCancelClick(Sender: TObject);

 private
   { Private declarations }

 public
   { Public declarations }
end;

function IsLoginOK: Boolean;

var
 FLogin: TFLogin;

implementation

uses DMod;

{$R *.dfm}

function IsLoginOK: Boolean;
begin
with TFLogin.Create(nil) do
try
 Result := ShowModal = mrOK;
finally
 Free;
end;
end;

procedure TFLogin.BtnInterClick(Sender: TObject);
begin
DataModule1.pFIBDatabase1.ConnectParams.UserName := FLogin.EdLogin.Text;
DataModule1.pFIBDatabase1.ConnectParams.Password := FLogin.EdPassword.Text;
try
DataModule1.pFIBDatabase1.Connected:=True;
DataModule1.pFIBDataSet1.Active:=True;
ModalResult := mrOK;
 Except
 ModalResult := mrNone;
 ShowMessage('dfghgfhfgh ftghgfhf.');
 end;
end;

procedure TFLogin.BtnCancelClick(Sender: TObject);
begin
Application.Terminate;
end;

end.


stone   (2006-02-27 13:42:00) [29]


> BaBayka007

Приведи туn код проекта (*.dpr). Все же DataModule1 у тебя еще не создан.


BaBayka007   (2006-02-27 13:22:00) [30]

Делаю ран.....появляется окно ввода данных пользователя......забиваю правильные логин пасс, жму ВХОД.....и вылетает следующее:
Progect PrEmpl.exe raised exception class EAccessViolation with message 'Access violation at adress 00545349 in module 'PrEmpl.exe'. Read of address  000002F8. Process stoped. Use step or Run to continue.


Desdechado   (2006-02-27 13:22:00) [31]

> DataModule1 уже создан или еще нет
не в дизайне, а в runtime он должен создаваться в приложении ПЕРВЫМ


umbra   (2006-02-27 13:08:00) [32]


> вылетает кривая ошибка и все.

а текст ошибки можете привести?


BaBayka007   (2006-02-27 13:05:00) [33]

создан.....на нем все компаненты......не пойму....


stone   (2006-02-27 13:02:00) [34]

У тебя на этот момент DataModule1 уже создан или еще нет?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо