Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DLL [D7]


Страницы:   1 2 3

ElectriC ©   (2007-03-20 02:02:00) 

Имеется Dll и, собственно, программа, к которой Dll подключается.
//----------------------------------------------
Код Dll:
...
function Res(i : byte) : PChar; stdcall;
begin
 case i of
   1 : Result := PChar(12345678901234567890);
   2 : Result := PChar(123456789012345678);
 end;
end;
...
exports
 Res;
begin
end.
//-----------------------------------------------
Программа имеет компонент Edit : TEdit.

Код программы:
...
public
 Res : function(i : byte) : PChar; stdcall;
...
Загрузка Dll и вызов функции;
...
Если Edit.Text := Res(1), то Edit.Text будет иметь вид: 12345678901234567890.
Если же Edit.Text := Res(2), то Edit.Text будет имет вид: 1234567890123456
+ добавляет пробел.
//-----------------------------------------------
Вопрос: Объяcните, пожалуйста, почему пропадает цифра 7 и 8, когда Edit.Text := Res(2)?


ElectriC   (2007-03-20 04:16:00) [41]


> то ...

То что?


Германн   (2007-03-20 04:13:00) [42]


> ElectriC ©   (20.03.07 04:02) [11]
>
>
> > Особое внимание на термин "public"!
>
> В каком смысле, "особое внимание"?
>

Если объявление функции Res идёт сразу после зарезервированного слова public, то ...


ElectriC   (2007-03-20 04:10:00) [43]

Можешь написать, как правильно сделать?


ElectriC   (2007-03-20 04:02:00) [44]


> Особое внимание на термин "public"!

В каком смысле, "особое внимание"?


Германн   (2007-03-20 04:00:00) [45]

Ещё раз
Германн ©   (20.03.07 03:32) [6]
Особое внимание на термин "public"!


ElectriC   (2007-03-20 03:51:00) [46]


> В секции public некоего компонента???

Нет! Только переменые типа byte, string и прочее!


Германн   (2007-03-20 03:47:00) [47]


> ElectriC ©   (20.03.07 03:43) [7]
>
>
> > Res : function(i : byte) : PChar; stdcall;
>
> Объявляю функцию, которую потом загружаю в свою программу
> из Dll

В секции public некоего компонента???


ElectriC   (2007-03-20 03:43:00) [48]


> Res : function(i : byte) : PChar; stdcall;

Объявляю функцию, которую потом загружаю в свою программу из Dll
(
Handle : THandle - переменная в которую я загружаю свою Dll
HandleDll := LoadLibrary(PChar('Dll\MyDll.dll');
Res := GetProcAddress(HandleDll, 'Res')
);


Германн   (2007-03-20 03:32:00) [49]

А что ты имеешь в виду под:

> public
>  Res : function(i : byte) : PChar; stdcall;
?


ElectriC   (2007-03-20 03:10:00) [50]

Проблема в PChar?


ElectriC   (2007-03-20 03:08:00) [51]


> Это ты считаешь, что привел текст программы?

А что ещё надо? Основное уж написано!
Не буду ж я приводить весь текст программы, состоящий из 5000 строк.


Германн   (2007-03-20 03:06:00) [52]


> Причём тут это!
> Основной текст программы, по которому у меня возникает вопрос,
>  я привёл!
> Причём тут "ламеры"?



> Программа имеет компонент Edit : TEdit.
>
> Код программы:
> ...
> public
>  Res : function(i : byte) : PChar; stdcall;
> ...
> Загрузка Dll и вызов функции;
> ...
> Если Edit.Text := Res(1), то Edit.Text будет иметь вид:
> 12345678901234567890.
> Если же Edit.Text := Res(2), то Edit.Text будет имет вид:
>  1234567890123456
> + добавляет пробел.

Это ты считаешь, что привел текст программы?


ElectriC   (2007-03-20 02:46:00) [53]


> Что программа столь "суперсекретна"

Причём тут это!
Основной текст программы, по которому у меня возникает вопрос, я привёл!
Причём тут "ламеры"?


Германн   (2007-03-20 02:11:00) [54]


> Вопрос: Объяcните, пожалуйста, почему пропадает цифра 7
> и 8, когда Edit.Text := Res(2)?
>

"Пойди туда, не знаю куда. Найди то," и т.д.
Что программа столь "суперсекретна", что нельзя привести тут её фрагмент? Или боишься привести, чтобы не "уличили в ламерстве"? Если второе, то научись плевать на тех, кто "уличает"! Они сами "ламеры", причём гораздо более глупые :)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо