일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- vb
- Visual Studio 2005
- 데이터베이스
- c#
- 시리얼 통신
- 기초
- winsock
- VB.NET
- 초보
- 인스톨
- Visual Basic
- 입문
- 문자열
- SDK
- MySQL
- dll
- 예제
- 파이어버드
- 설치
- 델파이
- Delphi
- PostgreSQL
- 소니
- WIN32 SDK
- Firebird
- 파라미터
- 셋업
- xml
- MFC
- SQL
- Today
- Total
프로그래밍 노트
델파이에서 DLL에 숫자 파라미터를 참조로 넘기는 방법 본문
숫자 변수를 참조 파라미터로 넘기는 간단한 C의 DLL 소스
extern "C"
{
// Integer 인수를 참조로 넘겨주기
int PASCAL EXPORT NumChg(int& nChg)
{
nChg = nChg * 2;
return nChg;
}
}
DLL에서 숫자 변수를 참조 파라미터로 넘기려며는
참조 파라미터로 넘기는 파라미터 앞에 var를 넣으면 된다.
숫자 변수를 참조 파라미터로 넘기고 받는 델파이 소스
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, TeEngine, Series, TeeProcs, Chart;
type
TfrmMain = class(TForm)
btnTest: TButton;
edtStr: TEdit;
lblStr: TLabel;
edtNo: TEdit;
lblNo: TLabel;
procedure btnTestClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
// 정수 변수를 참조 인수로 넘기기 위해서는 var를 써준다.
function NumChg(var nNo:Integer):integer; stdcall; external 'dtest.dll';
procedure TfrmMain.btnTestClick(Sender: TObject);
var
nNo:Integer;
psStr:PChar;
sString:String;
nWork:Integer;
begin
// 문자를 숫자로
nNo := StrToInt(edtNo.Text);
// 참조 숫자 인수에 데이터를 넘기고
// 바뀌어진 인수데이터 얻기
nWork := NumChg(nNo);
lblNo.Caption := IntToStr(nNo);
end;
end.