Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: CL | DM;

Вниз

Вызов функции из Dll   Найти похожие ветки 

 
Chery   (2003-05-07 18:09) [0]

При вызове функции из Dll первый раз всё идёт, при повторном вызове той же фун-ции выдаёт ошибку: "Invalid pointer operation".
Обнулял переменные - не помогает.
Привожу простой код Dll:
library MYLIB;
uses
SysUtils,
Classes;
function Doq():string; StdCall;
begin
Result:="rrrrttt2";
end;
exports
Doq;
begin
end.

И код вызова:
...
public
end;
function Doq() :string; StdCall;
var
Form1: TForm1;
implementation
function Doq; external "MYLIB.DLL";

procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption:=Doq();
end;
end.


 
Fredericco ©   (2003-05-07 18:13) [1]

Посмотри что пишется когда создаешь новую ДЛЛ.


 
kull ©   (2003-05-07 18:14) [2]

А ты читал комментарий при создании новой DLL - ки?

library Project1;

{ 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,
Classes;

{$R *.res}

begin
end.


 
VAleksey ©   (2003-05-07 18:18) [3]

Да что такое - то ?
Каждый день вопросы про шаремем. Может кто - то прикалывается? Специально задает эти вопросы? :-)


 
VAleksey ©   (2003-05-07 18:22) [4]

Просто интересно как это господа учаться писать Длл на делфи и использовать функции из длл не глядя в книги?
Я когда учился создавать длл, в каждой книге по 5 - ть раз встречал упоминание, что ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ТИП STRING, ТО ОБЯЗАТЕЛЬНО ПЕРВЫМ МОДУЛЕМ В ОСНОВНОМ ПРОЕКТЕ И ПРОЕКТЕ ДЛЛ ДОЛЖЕН БЫТЬ SHAREMEM !
И + еще напоминание при создании проекта самой длл. Просто удивительно как мимо этого всего можно пройти?


 
Anatoly Podgoretsky ©   (2003-05-07 19:31) [5]

VAleksey © (07.05.03 18:18)
Нет эпидемия.
Вот в конференции "Игры" - эпидемия "Давай те, что ни будь напишем"



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

Текущий архив: 2003.05.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-59614
tanuha
2003-04-28 20:41
2003.05.19
ApplyUpdates и UpdateSQL


4-59998
DelphiN!
2003-03-21 12:15
2003.05.19
Как узнать handle текущего элемента и окна(имеющего фокус)


9-59523
Crazy Max
2002-12-14 00:48
2003.05.19
OpenGl


14-59905
Карлсон
2003-04-29 20:41
2003.05.19
как исправить?


6-59824
[BAD]Angel
2003-03-20 18:26
2003.05.19
Как получить строку из Socker?