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

Вниз

Вызов функции из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.023 c
1-59773
Arkady
2003-05-06 11:08
2003.05.19
TOpenDialog


6-59821
Kaginava
2003-03-21 07:43
2003.05.19
IdTelnet1.Disconnect


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


14-59867
Вовчик
2003-04-29 08:43
2003.05.19
Как прикрепить файлы в мыле.


14-59864
Slavik
2003-04-29 01:12
2003.05.19
Transfer of application from Delphi 5 to Delphi 7





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский