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

Вниз

Доброго всем дня....подскажите пожалуйста.....вроде делаю правиль   Найти похожие ветки 

 
BaBayka007 ©   (2006-02-27 13:01) [0]

Доброго всем дня....подскажите пожалуйста.....вроде делаю правильно, а коннект к БД (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;


 
stone ©   (2006-02-27 13:02) [1]

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


 
BaBayka007 ©   (2006-02-27 13:05) [2]

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


 
umbra ©   (2006-02-27 13:08) [3]


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

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


 
Desdechado ©   (2006-02-27 13:22) [4]

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


 
BaBayka007 ©   (2006-02-27 13:22) [5]

Делаю ран.....появляется окно ввода данных пользователя......забиваю правильные логин пасс, жму ВХОД.....и вылетает следующее:
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.


 
stone ©   (2006-02-27 13:42) [6]


> BaBayka007

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


 
BaBayka007 ©   (2006-02-27 13:45) [7]

Код формы 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.


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

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


 
Desdechado ©   (2006-02-27 13:51) [9]

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


 
BaBayka007 ©   (2006-02-27 13:57) [10]


> umbra

FLogin: TFLogin;


 
BaBayka007 ©   (2006-02-27 13:58) [11]


> 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.


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

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


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

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

end.


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


> КаПиБаРа

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


 
Desdechado ©   (2006-02-27 14:14) [15]

что непонятного - у тебя идет обращение к функции, использующей датамодуль, до создания датамодуля
тебе показали, как это разрулить - просто один кусок в dpr меняешь на другой


 
BaBayka007 ©   (2006-02-27 14:16) [16]


> КаПиБаРа

переставил создание дата модуля раньше......не помогает....


 
КаПиБаРа ©   (2006-02-27 14:20) [17]

BaBayka007 ©   (27.02.06 14:16) [16]
Тогда проходи последовательно код отладчиком. Знаешь как с отладчаком работать и про кнопки F7 и F8


 
BaBayka007 ©   (2006-02-27 14:23) [18]


> КаПиБаРа

собственно нет не знаю......может где есть что почитать об этом?


 
Amoeba ©   (2006-02-27 14:26) [19]


> BaBayka007 ©   (27.02.06 14:16) [16]
>
> > КаПиБаРа
>
> переставил создание дата модуля раньше......не помогает.
> ...

Как делал? Через меню и диалог свойств проекта или прямо в *.dpr файле?


 
BaBayka007 ©   (2006-02-27 14:31) [20]


> Amoeba

в *.dpr файле из текстового редактора....


 
КаПиБаРа ©   (2006-02-27 14:31) [21]

BaBayka007 ©   (27.02.06 14:23) [18]
собственно нет не знаю

http://it.kgsu.ru/Otladka/otl_0032.html


 
Amoeba ©   (2006-02-27 14:40) [22]


> BaBayka007 ©   (27.02.06 14:31) [20]
>
> > Amoeba
>
> в *.dpr файле из текстового редактора....

Установи порядок создания форм через меню и диалог свойств проекта.


 
BaBayka007 ©   (2006-02-27 14:40) [23]


> КаПиБаРа

Спасибо......буду читать.......:)


 
BaBayka007 ©   (2006-02-27 14:42) [24]


> Amoeba


> Установи порядок создания форм через меню и диалог свойств
> проекта

не совсем понял.....поясни пожалуйста.....:)


 
umbra ©   (2006-02-27 14:47) [25]

чтобы избавиться от всех подобных проблем, гораздо легче выдавать запрос на логин после создания всего остального, т.е не из dpr, а из модуля главной формы. Сделать там кнопку "Соединиться" и на щелчок поней показывать  форму ввода логина с паролем


 
Amoeba ©   (2006-02-27 14:53) [26]


> BaBayka007 ©   (27.02.06 14:42) [24]
>
> > Amoeba
>
>
> > Установи порядок создания форм через меню и диалог свойств
>
> > проекта
>
> не совсем понял.....поясни пожалуйста.....:)

О, Господи!
Через меню открываешь диалог Project Options, в нем переходиш на страницу Forms и в левом списке (Auto-create forms) мышкой перемещаеш свой DataModule на первое место, в самый верх.


 
BaBayka007 ©   (2006-02-27 15:19) [27]


> Amoeba

DataModule1 находится в окне авто-греате а FEmpl и FLogin сидят в Available....Извините уж за такие глупые впросы........


 
BaBayka007 ©   (2006-02-27 15:24) [28]

Задвинул все формы ( FEmpl и FLogin ) в авто-греате ....DataModule1 установил первым .....Теперь ругается в FIB pas что не правильный логин или пароль.....но они верны....


 
BaBayka007 ©   (2006-02-27 15:53) [29]

Вот , что пишет....
Progect PrEmpl.exe raised exception class EFIBInterBaseError with message
"DataModule1.pFIBDatabase1:
Unsuccessfull execution caused by a system error that precludes
successfull execution of subsequent statements.
Your user name and password are not defined. Ask your database administrator to set up a Firebird login. Process stoped....


 
umbra ©   (2006-02-27 15:56) [30]


> но они верны....


судя по всему, нет. А на логин SYSDBA, пароль masterkey что говорит?


 
BaBayka007 ©   (2006-02-27 16:27) [31]


> umbra


> судя по всему, нет. А на логин SYSDBA, пароль masterkey
> что говорит?

да именно они.....устанавливал все данные через свойства датабазы и датасета выскакивает стандартный диалог ...ввожу эти данные коннект есть...


 
BaBayka007 ©   (2006-02-28 11:06) [32]

Доброго всем утречка......вчера в процессе всей дискуссии обнаружил странную вешчь....
1. создаю новый проект и на форму кидаю обычный грид...
2. добавляю в проект дата модуль и на нем размещаю DataSource/ pFIBDatabase/ pFIBDataSet/ pFIBTransaction.....сответственно настраиваю компаненты...
3. иду к гриду и обнаруживаю...ОН НЕ ВИДИТ DataSource!
Он его не видит , что бы я не делал с ним....Единственное когда пропадает этот глюк если я кидаю дата сурс непосредственно на форму....Отсюда вывод, что форма и дата модуль не связаны.....Проверил - дата модуль в проекте присутствует...Весь вечер вчера долбался не помогла даже переустановка дельфи.....Скорее всего из-за этого глюка и не было коннекта в проекте с которого я и задал текущий вопрос. Может кто сталкивался с подобным? Как можно решить эту проблемму?


 
КаПиБаРа ©   (2006-02-28 11:12) [33]

BaBayka007 ©   (28.02.06 11:06) [32]
Пропиши в uses формы имя датамодуля


 
BaBayka007 ©   (2006-02-28 11:28) [34]


> КаПиБаРа

СПАСИБО.........во истину.. дурная голова ногам покоя не дает....:)



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

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

Наверх




Память: 0.55 MB
Время: 0.053 c
2-1141146829
ViktorZ
2006-02-28 20:13
2006.03.19
Apllication not applicable


4-1135680531
Ньюб2
2005-12-27 13:48
2006.03.19
выключить+включить устройство


11-1121184395
Dodfr
2005-07-12 20:06
2006.03.19
How to workaround missing TComponent ? with FindObj ?


15-1140573830
vidiv
2006-02-22 05:03
2006.03.19
редактор диска или помогите восстановить БИОС


1-1139752949
Pit
2006-02-12 17:02
2006.03.19
Hint ы в Popupmenu