Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

Проблемы с dll   Найти похожие ветки 

 
Slaga ©   (2004-07-27 17:03) [0]

Есть у меня 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"

Что я еще не сделал что б все нормально работало ?


 
Digitman ©   (2004-07-27 17:08) [1]


> Что я еще не сделал


не прочитал комментарии. автоматически формируемые IDE при генерации шаблона dll-проекта


 
Slaga ©   (2004-07-27 17:10) [2]

Прочитал, но не понял как им следовать :(


 
Digitman ©   (2004-07-27 17:14) [3]

ты хочешь сказать. что в этих комментариях нет конкретного руководстува к действию ?


 
Slaga ©   (2004-07-27 17:21) [4]

ну я ж говорю что использую ShareMem


 
Игорь Шевченко ©   (2004-07-27 17:22) [5]

Slaga ©   (27.07.04 17:21)


> ну я ж говорю что использую ShareMem


Список uses из dpr EXE и DLL в студию.


 
Slaga ©   (2004-07-27 17:24) [6]

В проекте:

uses
 Windows, SysUtils, Variants, Classes, Controls, Forms, ShareMem,
 OracleData, Oracle, Menus, ExtCtrls, DB,  Buttons, StdCtrls, CheckLst;


В dll ке:

uses
 SysUtils,
 Classes,
 ShareMem;


 
MU ©   (2004-07-27 17:26) [7]

:))
Его первым надо юзать! И там, и там.


 
Slaga ©   (2004-07-27 17:29) [8]

млин ..


 
Slaga ©   (2004-07-27 17:31) [9]

неа, не помогло, все равно выскакивает ошибка при закрытии проекта


 
panov ©   (2004-07-27 17:34) [10]

>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:35) [11]

а что с ними не так ?


 
panov ©   (2004-07-27 17:38) [12]

Начало файла проекта -

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:42) [13]

АААА, я просто перепутал, тфу, пасибо что разъяснили


 
Slaga ©   (2004-07-27 17:45) [14]

Ура, нет ошибки :))



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

Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1090993623
mixam
2004-07-28 09:47
2004.08.08
работа с файлами


1-1090827149
Delphi5.01
2004-07-26 11:32
2004.08.08
Preview QReport


1-1090508848
glGLU
2004-07-22 19:07
2004.08.08
ProgressBar


14-1090291105
Anger
2004-07-20 06:38
2004.08.08
IdSMTPServer


3-1089764331
Poluprovodnik
2004-07-14 04:18
2004.08.08
полоса прокрутки в dbgrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский