C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41539] Re:Re:Re:inportb 함수 사용하기
유영인 Cuperido [cuperido] 1054 읽음    2005-08-19 10:32
저기, 죄송한 말씀이지만,
제가 테스트 예제를 작성하던 도중...
올려드린 Inpout32.dll 에 문제가 있는걸 발견했습니다. --;

어이없는 답변이지만 제가 보내드린거 사용하지 마시고요,
포트 I/O 관련 컴포넌트 (저도 찾아보겠습니다. dlportio 등이 있는걸로 알고 있습니다)
를 아래와 같은 방법으로 dll 로 읽어서 사용하실 수 있습니다.


cuperido

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
HINSTANCE hiInstance;
HOOKPROC hpInput, hpOutput;

typedef short __stdcall __declspec(dllimport)Func_Inp32(short PortAddress);
typedef void __stdcall __declspec(dllimport)Func_Out32(short PortAddress, short Value);

Func_Inp32 *Inp32;
Func_Out32 *Out32;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{

hiInstance = LoadLibrary("INPOUT32.DLL");

Inp32 = (Func_Inp32 *)GetProcAddress(hiInstance, "Inp32");
Out32 = (Func_Out32 *)GetProcAddress(hiInstance, "Out32");


}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{

FreeLibrary(hiInstance);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

short             itValue;


itValue = Inp32(0x378);

ShowMessage(itValue);

}
//---------------------------------------------------------------------------



나그네 님이 쓰신 글 :
: 제가 초보라서 이해가 잘 안되네요
: 어떻게 쓰는지 간단한 예제가 있으면 부탁합니다.
: 감사합니다.
:
:
:
: 유영인  Cuperido 님이 쓰신 글 :
: : Procedure Out32(PortAddress: Smallint; Value: Smallint); Stdcall; External 'InpOut32.DLL';
: : Function  Inp32(PortAddress: Smallint) : Smallint; Stdcall; External 'InpOut32.DLL';
: :
: : 이 형태로 정의되어 있으니 DLL에서 불러서 사용하시면 될 것 같습니다.
: :
: : 0x300을 읽을 수 있을지는 모르겠습니다. 실질적으로 Windows NT 버젼 (2000, XP 포함)
: : 에서는 포트를 95/98 버젼과 다르게 직접 억세스 할 수 없으며, 또한 억세스를 권한을
: : 받아서 하더라도 가벼운 포트가 아니면 (시리얼, 패러럴 등) 직접적으로 억세스가
: : 불가능합니다.
: :
: : 이러한 경우 DDK를 받으셔서 VxD 파일을 만드시든지 해서, 장치에 대한 드라이버를
: : 따로 만들어 주셔야 합니다.
: :
: :
: : cuperido
: :
: : 나그네 님이 쓰신 글 :
: : : 저는 포트(0x300)을 읽을려고합니다.
: : : 근디 잘 안되어서요
: : : 빌더 5용이 있음
: : : 공개좀 부탁합니다.

+ -

관련 글 리스트
41509 inportb 함수 사용하기 나그네 789 2005/08/18
41511     Re:inportb 함수 사용하기 유영인 Cuperido 1056 2005/08/18
41535         Re:Re:inportb 함수 사용하기 나그네 928 2005/08/19
41539             Re:Re:Re:inportb 함수 사용하기 유영인 Cuperido 1054 2005/08/19
41540                 Re:Re:Re:Re:inportb 함수 사용하기 나그네 1107 2005/08/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.