- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
library ExDouble;
uses
SysUtils,
Classes;
{$R *.res}
function calc_double(r: real): real; stdcall;
begin
result := 2;
end;
exports
calc_double index 1;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function calc_double(r: real): real; stdcall; external 'ExDouble.dll';
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit1.Text<>FloatToStr(calc_double(0))then
ShowMessage('')
else begin
ShowMessage('dsfgsdfg');
end;
end;
end.
guest 27.04.2009 16:46 # 0
И в чём прикол? Я часто пишу что-то подобное. Обычно такой код используется для начала, проверки работоспособности, прежде чем переходить к более серьезным функциям...
guest 28.04.2009 18:54 # 0
Это не я писал это мой знакомый он даже незнает что я его код сюда выложил.Кстати кто нибудь знает что такое stdcall?
guest 28.04.2009 19:00 # 0
Уважаемый дельфист Alice, учите мат.часть: http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0% B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B7% D0%BE%D0%B2%D0%B0#stdcall.2Fwinapi
А где прикол, я тоже не вижу. С виду типичная пробная Dll'ка и вызывающий код.
guest 28.04.2009 19:19 # 0
stdcall применяется при вызове функций Win32 API. Аргументы передаются через стек, справа налево. Очистку стека производит вызываемая подпрограмма.
guest 28.04.2009 20:03 # 0
я не делфист я сист и линуксоид