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

Вниз

Помогите разобраться с указателями   Найти похожие ветки 

 
Prove   (2005-02-25 05:21) [0]

Нужно в dll иметь функцию, возвращающую boolean и способную при успехе (true) еще и "вернуть" integer.

// В проекте:

function Prove(fname:PChar; kol:Pointer):boolean; external "aaa.dll";

implementation

procedure TForm1.Button1Click(Sender: TObject);
var kkol:integer;
begin
Prove("111",Pointer(kkol));
end;

// В dll:

library aaa;

uses
 ShareMem,
 func in "func.pas";

exports Prove;

end.

// В func.pas:

uses
ShareMem,
windows,
 SysUtils, Variants,
 Classes;

function Prove(fname:PChar; kol:Pointer):boolean; stdcall;

implementation

function Prove(fname:PChar; kol:Pointer):boolean; stdcall;
begin
//integer(kol^):=5;
MessageBox(0,fname,"",0);
result:=false;
end;

MessageBox показывает иероглифы, а после ошибка с access violation..
Одним словом, помогите разобраться.. )


 
Prove   (2005-02-25 05:52) [1]

Рыбяты, все пашет! Если убрать stdcall.
Кто знающий, объясните по-простому, почему ошибка была?

Не понял я в хелпе, что значит передача параметров справа налево.. Это как?

Register, pascal, cdecl, stdcall и safecall - чем отличаются?
И когда все-таки stdcall надо использовать?


 
KSergey ©   (2005-02-25 07:58) [2]

> [1] Prove   (25.02.05 05:52)
> Не понял я в хелпе, что значит передача параметров справа
> налево.. Это как?

Лень.
Надо везде втавить одинаковые соглашения о передаче параметров. Или уж везде stdcall, или уж везде - без него.

ПО основному же вопросу

> Нужно в dll иметь функцию, возвращающую boolean и способную
> при успехе (true) еще и "вернуть" integer

Функцию просто описать как

function Prove(fname:PChar; var kol:Integer):boolean;



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

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

Наверх




Память: 0.47 MB
Время: 0.038 c
1-1109616668
Bloody-Wolf
2005-02-28 21:51
2005.03.13
Функция не работает, что в ней не так?


4-1106567663
MAXHO
2005-01-24 14:54
2005.03.13
LPT


1-1109567093
Andrey V.
2005-02-28 08:04
2005.03.13
Событие при переходе по строкам в Gride


14-1109085237
X9
2005-02-22 18:13
2005.03.13
2 вопроса по Opera 8


4-1107014004
Остановка колеса фортуны?
2005-01-29 18:53
2005.03.13
Остановка колеса фортуны?