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

Вниз

Помогите с загрузкой функции из DLL   Найти похожие ветки 

 
_Garry ©   (2004-07-30 10:57) [0]

library Mydll;

uses
 Windows,SysUtils,
 Classes;

function AddSpace(S:String;FullDl:Integer;
         Fill:String):String; stdcall;
var
i:Integer;
begin
Result:="";
 for i:=0 to (FullDl-Length(S)) do
  S:=S+Fill;
Result:=S;
end;

exports
 AddSpace;
begin
end.

unit Unit1;
.......
implementation

function AddSpace(S:String;FullDl:Integer;
         Fill:String):String;stdcall;external "mydll.dll";

{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Caption:=AddSpace(Edit1.Text,20," +");
end;

Вот в таком виде ругается "Invalid pointer operation", но если продолжить выполнение, функция отрабатывается. Динамическая загрузка тоже выдаёт ошибку.
Заранее благодарю.


 
Reindeer Moss Eater ©   (2004-07-30 11:00) [1]

Прочитай внимательно комментарий, автоматически вставляемый IDE в файл проекта DLL


 
TUser ©   (2004-07-30 11:01) [2]

uses ShareMem


 
Sancho ©   (2004-07-30 11:02) [3]

Если ты передаешь строки в библиотеку, то надо использовать либо тип PChar, либо подключать модуль ShareMem (он должен быть первым в списке uses как библиотеки, так и приложения ее вызывающего). Проблема в том, что у библиотеки и приложения разные менеджеры памяти.


 
_Garry ©   (2004-07-30 14:01) [4]

Спасибо большое, джентельмены, помогло.
Удачи всем!



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
6-1087293736
webpauk
2004-06-15 14:02
2004.08.15
Игры


14-1091273626
Cheater
2004-07-31 15:33
2004.08.15
Дрянь какая-то случилось с IE! Помогите!


1-1091193958
Studentik
2004-07-30 17:25
2004.08.15
Как заставить при нажатии на SpeedButton выскакивало PopupMenu?


14-1090820129
ИдиотЪ
2004-07-26 09:35
2004.08.15
Интерференция мобил


1-1091164901
Vlad Oshin
2004-07-30 09:21
2004.08.15
Компилятор. Ошибка. Что не так?