Ошибка при загрузке?

  • Автор темы Baton77
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

Baton77

Гость
#1
Написал DLL
Код:
library replace;


uses
ShareMem, SysUtils, Classes;

{$R *.res}

function StringReplaceAll (text,byt,mot : string ) :string;
...
...
end;

function Vasya2Petya (text : string) : string;
begin
text := stringreplaceall (text,'Вася','Петя');
result := text;
end;

exports
Vasya2Petya;

begin
end.
В программе вызываю так :

Код:
implementation

{$R *.dfm}


function Vasya2Petya (text : string) : string; external 'replace.dll';

...
...

procedure TForm1.PreviewBtnClick(Sender: TObject);
const BR = '<br>';
var
plats : integer;
begin
for plats:=0 to Memo.Lines.Count-1 do
ConvertMemo.Lines.Add(Vasya2Petya(Memo.Lines.Strings[plats]+ BR));
ConvertMemo.Lines.SaveToFile('Program/Temp.html');
ConvertMemo.Clear;
Form4.Show;
end;
Под дельфи отказывается работать - вместе виснут. :P

А без дельфи работает, но выскакивает ошибка "Invalid pointer operation."

Что делаю не так? :D
 
K

Kuljok

Гость
#2
Написал DLL
Код:
library replace;
uses
ShareMem, SysUtils, Classes;

{$R *.res}

function StringReplaceAll (text,byt,mot : string ) :string;
...
...
end;

function Vasya2Petya (text : string) : string;
begin
text := stringreplaceall (text,'Вася','Петя');
result := text;
end;

exports
Vasya2Petya;

begin
end.

Что делаю не так? ;)
Нельзя просто так использовать строки в качестве параметров для экспортируемых функций. Или используй PChar для передачи параметров и возврата результата. Или используй ShareMem.
 
B

Baton77

Гость
#3
Разобрался... ;)
Почему-то нигде не находил информацию о том, что модуль ShareMem необходимо добавить и в
uses файла проекта программы - .DPR. :)
Код:
program BBcodeViewer;

uses
ShareMem,
Forms,
...
...
Ещё вот вопрос возник... :)
Обязательно ли наличие в папке с программой библиотеки borlndmm.dll ?
 
B

Barmutik

Гость
#4
Обязательно её нахождение в одном из путей где её может найти система...
 
B

Barmutik

Гость
#6
Да и этот менеджер работает на 20% в среднем быстре чем стандартный менеджер памяти от Борлянда...

В BDS 2006 они сделали его стандартным в поставке Дельфей...
 
Статус
Закрыто для дальнейших ответов.