Главная страница
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.025 c
4-1107172813
BaDeVlad
2005-01-31 15:00
2005.03.13
Как вывести Unicode-строку?


4-1107241039
VsInLg
2005-02-01 09:57
2005.03.13
Директивы


1-1109279193
akvilon
2005-02-25 00:06
2005.03.13
один TStrings


14-1108743112
Nic87
2005-02-18 19:11
2005.03.13
Помогите найти песню


14-1108899022
07BB:080Dh
2005-02-20 14:30
2005.03.13
Кто нибудь на работе слушает "Красную плесень"?