Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

Проблема с модулем   Найти похожие ветки 

 
P0tia   (2003-10-11 23:29) [0]

Из главной формы запускается прцедура(SecOFF;), Данная процедура лижит в dll,
library secur;

{ Important note about DLL memory management: ShareMem must be the
first unit in your library"s USES clause AND your project"s (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }

uses
SysUtils, main, Module,
Classes;

{$R *.res}
Procedure security (sec :string);
DataModule1.config.SetKey;
DataModule1.config.Fields[0].AsString := "Security";
DataModule1.config.GotoKey;
DataModule1.config.Edit;
DataModule1.config.Fields[1].AsString := sec;
DataModule1.config.Post;
end;

procedure SecOFF;
begin
security("0");
end;

exports security,SecOFF;
begin
end.


Сама процедура SecOFF рабочая, а вот на Security ругается, говорит: "[Ошибка] secur.dpr(20): Unknown directive: "DataModule1"
[Ошибка] secur.dpr(20): Declaration expected but "." found
"
Как это можно исправить?


 
Palladin   (2003-10-11 23:33) [1]

ну как бы тебе поласковей сказать...
А BEGIN У ТЕБЯ ГДЕ?


 
Palladin   (2003-10-12 02:04) [2]

и еще тебя ждут грабли если не переведешь написанное в комментариях


 
P0tia   (2003-10-12 10:35) [3]

Еще один вопрос, когда поставил begin, изменил string на Pchar, запустил приложение и кликнул на исполнение, ВЫдают ошибку

"Access violation at address ... in module ..."

что можно съделать?


...
Procedure security (sec :PChar);
begin
DataModule1.config.SetKey;
DataModule1.config.Fields[0].AsString := "Security";
DataModule1.config.GotoKey;
DataModule1.config.Edit;
DataModule1.config.Fields[1].AsString := sec;
DataModule1.config.Post;
end;

procedure SecOFF;
begin
security("0");
end;
...

...
procedure TForm1.N82Click(Sender: TObject);
begin
SecOFF;
end;
...


 
Юрий Федоров   (2003-10-12 10:39) [4]

Скорее всего DataModule1 не создан


 
P0tia   (2003-10-12 17:28) [5]

А как этопроверить и исправить?


 
Palladin   (2003-10-12 17:34) [6]

убедится в том что он создается


 
Юрий Федоров   (2003-10-12 18:16) [7]

Для этого есть отладчик. Встань на строке, где идет первое обращение к DataModule1 и посмотри, не равен ли он случайно nil
Судя по тому, что ты задаешь такие вопросы, он не создан.
А экземпляры класса нужно создавать. И уничтожать, разумеется


 
P0tia   (2003-10-12 18:24) [8]

Сначала загружется форма, в ней dll, потом DataModule, а потм функция(по кнопке).


 
Palladin   (2003-10-12 18:31) [9]

загрузить что то не есть создать объект класса...


 
Юрий Федоров   (2003-10-12 18:38) [10]

Ты когда добавляешь в обычное приложение (exe) даата-модуль, видел такую строку в файле dpr
Application.Createform(TDataModule1, DataModule1) ??
Вот это и есть создаание.
Когда ты пишешь exe, delphi сама добавляет это в проект.
А когда dll - сама не добавляет, будь добр сам это сделать, руками


 
P0tia   (2003-10-12 18:38) [11]

А как проверить загружен или нет


 
Palladin   (2003-10-12 18:43) [12]


> P0tia © (12.10.03 18:38) [11]

слушай да...

тебе досточно добавить в твою библиотеку
после exports

begin
datamodule1:=TDataModule1.Create(nil);
end.

учись, читай книги про классы объекты и VCL, это основы...


 
P0tia   (2003-10-12 19:13) [13]

С "begin
datamodule1:=TDataModule1.Create(nil);
end." Выдает ошибку при загрузке пронграммы!


 
Palladin   (2003-10-12 19:16) [14]

ну и какую же?


 
P0tia   (2003-10-12 19:18) [15]

Name not unique in this context


 
P0tia   (2003-10-12 19:29) [16]

Может я в uses чтото не дописал

uses
SysUtils, main, Module,
Classes;


 
Ihor Osov'yak   (2003-10-13 01:12) [17]

2 P0tia
неа.
Книги должны быть вначала. В смысле - внимательное и вдумчивое чтение.

Вы беретесь за задачи, которые немного не соответствуют вашему уровню подготовки.
Сорри за резкость.


 
P0tia   (2003-10-13 17:10) [18]

Я полный ЛОХ с модулями, подскажите очень надо.



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

Форум: "Основная";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
14-74432
Aragon
2003-10-05 07:13
2003.10.23
WinAPI


1-74304
RoLeX
2003-10-12 13:55
2003.10.23
Как изменять прозрачность формы?


1-74318
Pacuk
2003-10-12 00:53
2003.10.23
Перекодировка форм Delphi3 -> Delphi5


3-74024
MsGuns
2003-10-02 12:06
2003.10.23
Insert в редактируемом TIBQuery


1-74249
Максим
2003-10-13 13:37
2003.10.23
Лог файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский