![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компоненты + Библиотека [D7, WinXP]
Kolt © (2004-08-30 06:10:00)Уважаемые господа, подскажите начинающему программеру. Вот я пишу библиотеку, в ней использую следующий код:
procedure Record_UserName (RLogin:String);
begin
MessageBox(0, 'Login', PAnsiChar('Login= '), 1);
DataModule_Users:= TDataModule_Users.CreateNew(DataModule_Users);
MessageBox(0, 'Login', PAnsiChar('Login= '), 1);
DataModule_Users.TableUsers.Insert;
DataModule_Users.TableUsers.Edit;
MessageBox(0, 'Login', PAnsiChar('Login= '), 1);
DataModule_Users.TableUsers.FieldByName('User').Value:=RLogin;
DataModule_Users.TableUsers.Post;
и приложение:
procedure Export_UserName (Login:String);
external 'connect.dll';
procedure Record_UserName (RLogin:String);
external 'connect.dll';
..............
procedure TForm1.Button1Click(Sender: TObject);
begin
// Export_UserName(Edit1.Text);
Record_UserName (Edit1.Text);
end;
Проблемма в том что всё это не хочет работать. Я чтобы не описывать в библиотеке компоненты для работы с БД в ручную я в библиотеку добавил компонент DataModule в него накидал таблицы.... Не ужто всё нужно будет описывать в ручную, а нельзя ли с помощью компонентов ???
Amoeba (2004-09-01 13:12:00) [1]Что там написано про ShareMem? Ты это хоть прочитал?
Думкин (2004-08-31 07:48:00) [2]> [8] Kolt © (31.08.04 07:16)
А там и написано по русски, вернее на английском, но...мы программисты или где?
Kolt (2004-08-31 07:16:00) [3]Блин, все такие умные, а что словами на руссом сказать не можете ???
GuAV (2004-08-30 17:44:00) [4]New->Other-Dll Wizard.
и читать что он пишет.
Kolt (2004-08-30 15:12:00) [5]А как можно... ???
Access violation at adress 00531D72 in module connect.dll Real of address 00000000
Таблица в активе и всё такое.... просто если в обычном проекте создаю модуль данных кидаю те же компоненты вставляю то-же код всё окей...
Erik1 (2004-08-30 11:10:00) [6]Опять никто нехочит читать, что в DLL визард пишет! Ну нельзя так передавать строки, нельзя понимасш a...?!
Передавай PChar.
TUser (2004-08-30 09:46:00) [7]Какую ошибку-то пишет?
Таблица, конечно, создана, active и все такое?
Kolt (2004-08-30 07:48:00) [8]Ошибка в доступе к памяти..... много Логинов это я так для проверки (после какой строки типа ошибка).... Ошибка при выполнении DataModule_Users.TableUsers.Insert;
....
Mim1можно подробнее ???
Mim1 (2004-08-30 07:28:00) [9]разместите модуль данных в пакете, и с этим пакетом откомпилировать EXE и DLL. Пропадут проблеммы с разными экземплярами классов и с sharedmem.
Ozone (2004-08-30 06:36:00) [10]1. Зачем так много "Login"'ов?
2. После Insert не нужно Edit
>> Проблемма в том что всё это не хочет работать.
Что именно не работает? Выдает ошибку? Какую?