Текущий архив: 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