![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с dll [D7, WinXP]
Slaga © (2004-07-27 17:03:00)Есть у меня dll-ка, в ней есть вот такая функция:
function SeparationVariables(Str: string; Sep: char; var SepStr: TStringList): boolean; stdcall;
var i : integer;
tmp : string;
begin
try
for i := 1 to length(str) do
if str[i] <> Sep then
tmp := tmp + str[i]
else
begin
SepStr.Add(tmp);
tmp := '';
end;
Result := true;
except
Result := false;
end;
end;
я ее експортю:
exports SeparationVariables;
использую и в dll ке и в проекте ShareMem.
А проблема в том что если я использую эту функцию в проекте то при закрытии проекта выскакиевает ошибка:
"Invalide pointer operation"
Что я еще не сделал что б все нормально работало ?
Slaga (2004-07-27 17:45:00) [1]Ура, нет ошибки :))
Slaga (2004-07-27 17:42:00) [2]АААА, я просто перепутал, тфу, пасибо что разъяснили
panov (2004-07-27 17:38:00) [3]Начало файла проекта -
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
...
...
Для правильного использования ShareMem достаточно изменить на
program Project1;
uses
Sharemem,
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
...
...
а в каталог с программой добавить файл BORLNDMM.DLL.
Если после этого ошибка не исчезнет, тогда ищи ее уже в программе.
Slaga (2004-07-27 17:35:00) [4]а что с ними не так ?
panov (2004-07-27 17:34:00) [5]>Slaga © (27.07.04 17:24) [6]
В проекте:
uses
Windows, SysUtils, Variants, Classes, Controls, Forms, ShareMem,
OracleData, Oracle, Menus, ExtCtrls, DB, Buttons, StdCtrls, CheckLst;
Не поверю, что все эти модули записаны в .dpr
Slaga (2004-07-27 17:31:00) [6]неа, не помогло, все равно выскакивает ошибка при закрытии проекта
Slaga (2004-07-27 17:29:00) [7]млин ..
MU (2004-07-27 17:26:00) [8]:))
Его первым надо юзать! И там, и там.
Slaga (2004-07-27 17:24:00) [9]В проекте:
uses
Windows, SysUtils, Variants, Classes, Controls, Forms, ShareMem,
OracleData, Oracle, Menus, ExtCtrls, DB, Buttons, StdCtrls, CheckLst;
В dll ке:
uses
SysUtils,
Classes,
ShareMem;
Игорь Шевченко (2004-07-27 17:22:00) [10]Slaga © (27.07.04 17:21)
> ну я ж говорю что использую ShareMem
Список uses из dpr EXE и DLL в студию.
Slaga (2004-07-27 17:21:00) [11]ну я ж говорю что использую ShareMem
Digitman (2004-07-27 17:14:00) [12]ты хочешь сказать. что в этих комментариях нет конкретного руководстува к действию ?
Slaga (2004-07-27 17:10:00) [13]Прочитал, но не понял как им следовать :(
Digitman (2004-07-27 17:08:00) [14]
> Что я еще не сделал
не прочитал комментарии. автоматически формируемые IDE при генерации шаблона dll-проекта