Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
ВнизChilds окна Найти похожие ветки
← →
Explorer (2002-07-15 14:01) [40]А подскажите, как в таком случае лучше коннект к базе сделать, точнее, где его лучше разместить? (использую DataBase)
← →
Fiend (2002-07-15 14:02) [41]То Explorer
Мне кажется уже всё объяснили. Что же еще не понятно????
← →
saxon (2002-07-15 14:05) [42]Fiend
В свойствах надо ставить перед тем как менять ДПР!!!
ну и естественно следить за этим.
← →
Explorer (2002-07-15 14:09) [43]>Fiend ©
Вы извините, что я такой трудный, но меня интересует,
коннект лучше создавать на Главно форме, или лучше создать какой-нибудь DataModule и через него осуществлять коннект?
← →
saxon (2002-07-15 14:12) [44]Лучше через DataModule.
← →
Explorer (2002-07-15 14:19) [45]>saxon ©
Тогда обьясните пожалуйста мне не далекому, что я делаю не так?
Код:
program NightKassa;
uses
Forms, windows, Messages, SysUtils, Classes, Graphics, Controls, Dialogs,
Menus, Buttons, FormPassword in "Forms\FormPassword.pas" {FormPasswords},
DataModule in "Forms\DataModule.pas" {DataModuleKassa: TDataModuleKassa},
MainForm in "Forms\MainForm.pas" {MainF};
{$R *.res}
begin
Application.Initialize;
TDataModuleKassa.Create(DataModuleKassa);
with TFormPasswords.Create(nil) do try
TDataModuleKassa.Create(DataModuleKassa);
DataModuleKassa.DataBaseKassa.connected:=true;
QueryAuthUser.Active:=true;
if ShowModal = mrOk then begin
if (QueryAuthUser.FieldByName("UserName").AsString=DBLookupComboBoxUser.Text) and
(QueryAuthUser.FieldByName("UserPasswd").AsString=MaskEditPasswd.Text) and
(QueryAuthUser.FieldByName("Status").AsBoolean=false)
then begin
UserName:=DBLookupComboBoxUser.Text;
UserPasswd:=MaskEditPasswd.Text;
Application.CreateForm(TMainF, MainF);
end
else begin
MessageDlg("
← →
Explorer (2002-07-15 14:23) [46]Разобрался!
надо было убрать:
DataModuleKassa.DataBaseKassa.connected:=true;
← →
Fiend (2002-07-15 14:30) [47]To Explorer ©
Вот этой строкой TDataModuleKassa.Create(DataModuleKassa);
Вы создаёте объект, но указатель на него никуда не сохраняете, поэтому и обращение к DataModuleKassa.DataBaseKassa.connected:=true; вызывает у вас АВ.
Надо было написать DataModuleKassa:= TDataModuleKassa.Create(Application);
И тогда бы вы нормально обращались к объекту базы данных
← →
saxon (2002-07-15 14:32) [48]To Explorer ©
Ну и вообще так как Вы это делаете
лучше и не делать!:))
Посмотри примеры делфи (там тоже есть умные вещи:) )
← →
Explorer (2002-07-15 14:39) [49]>saxon ©
Я только учусь!
А это пока набросал, чтобы проверить и понять, как все это примерно работает! Но, то что Вы написали, постараюсь воплотить в жизнь!
Страницы: 1 2 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.25;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.008 c