Q&A

  • DLL사용법??
RGB Board를 사용해서 프로그램을 만들고 있습니다.

Board에서 제공하는 sample은 VB로 되어 있습니다.

이것을 델파이로 바꾸는데 잘 안되네요.

Board는 자체 Dll을 제공합니다.

제공하는 Dll의 함수를 델파이에서 바로 호출하려고 하는데 에러가 납니다.

소스를 첨부합니다. 고수님들의 지도 부탁합니다.



procedure TForm1.Button1Click(Sender: TObject);

var

handle:Thandle;

begin

handle:=LoadLibrary('Fpv32.dll');//RGB Borad에서 제공하는 Dll

Fpv_VideoLive(true,align_any);-->여기에서 함수를 알 수 없다는 에러 발생

//Fpv32.dll에서 제공하는 함수

FreeLibrary(handle);

end;



1  COMMENTS
  • Profile
    유수 1999.08.13 03:56


    DLL을 사용하기 위해선 DLL내의 함수의 포인터를 알아야 합니다.



    이는 GetProcAddress로 구할 수 있습니다.



    아래의 예제를 참조해 해 주시기 바랍니다.



    procedure TForm1.Button1Click(Sender: TObject);

    type

    // 호출할 함수의 함수의 형태

    TCallMeDll = function(a,b: Integer): string;

    var

    CallMeDll: TCallMeDll;

    FuncPtr: TFarProc;

    hDll: THandle;

    result: string;

    begin

    hDll:=LoadLibrary('Mytestdll.dll');

    // CallMe라는 이름의 함수의 포인트를 얻는다.

    FuncPtr:=GetProcAddress(hDLL,'CallMe');

    // 얻은 포인트를 호출할 형태로 만들기 위해 다시 포인트 지정

    @CallMeDll:=FuncPtr;

    if @CallMeDll <> nil then result:=CallMeDll(4,5);

    FuncPtr:=nil;

    FreeLibrary(hDll);

    end;



    장일형 께서 말씀하시기를...

    > RGB Board를 사용해서 프로그램을 만들고 있습니다.

    > Board에서 제공하는 sample은 VB로 되어 있습니다.

    > 이것을 델파이로 바꾸는데 잘 안되네요.

    > Board는 자체 Dll을 제공합니다.

    > 제공하는 Dll의 함수를 델파이에서 바로 호출하려고 하는데 에러가 납니다.

    > 소스를 첨부합니다. 고수님들의 지도 부탁합니다.

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > handle:Thandle;

    > begin

    > handle:=LoadLibrary('Fpv32.dll');//RGB Borad에서 제공하는 Dll

    > Fpv_VideoLive(true,align_any);-->여기에서 함수를 알 수 없다는 에러 발생

    > //Fpv32.dll에서 제공하는 함수

    > FreeLibrary(handle);

    > end;

    >





    • 유수
      1999.08.13 04:57
      차례대로 Edit1, Edit2... 의 이름을 가지는 경우를 가정하겠습니다. 각 필드는 문자형이며, 조건문...
    • 이영배
      1999.08.13 23:35
      답을 주셔서 대단히 감사합니다. 저의 질문에 정확히 맞는 훌륭한 로직인것 같습니다. 그런데 에러 ...
    • 유수
      1999.08.14 06:17
      안녕하세요. 참고만 하시라고, 떠오르는데로 쓴 코드라, 죄송하게 되었네요. > 이렇게 뜨는데 아래줄...
    • 이현철
    • 1999.08.13 03:12
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 03:22
      다음의 함수를 참조해 주세요. function ReplaceStr(const S, Srch, Replace: string): string; va...
    • 1999.08.13 03:21
      이현철 께서 말씀하시기를... > 안녕하세요. > 메모의 내용을 문자열 변수에 넣었어요. > 문자열 변수에...
    • 김용철
    • 1999.08.13 03:11
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 04:31
      데이타 베이스 화일을 여는 데 걸리는 시간은 일정하지 않은 것으로 알고 있습니다. 데이타의 양이...
    • 김용철
      1999.08.13 04:53
      감사합니다. 지금 유수님께서 설명해 주신 방법으로 프로그램이 작성되어 있습니다. 그런데 프로그래스...
    • 이현신
    • 1999.08.13 03:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.08.14 08:09
      안녕하세요..조복기입니다.. 흠..막상 하는일은 학습용 겜을 만들고있는데 아는게 넘 부족해서 제...
    • 댕이
    • 1999.08.13 03:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.08.13 03:22
      안녕하세요..조복기입니다.. 저도 몰랐었는데 몇일전에 저희 거래처 서버에 들어갈려고 하니까 되...
    • 장일형
    • 1999.08.13 02:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 03:56
      DLL을 사용하기 위해선 DLL내의 함수의 포인터를 알아야 합니다. 이는 GetProcAddress로 구할 수 있...
    • 홍성기
    • 1999.08.13 02:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 04:19
      http://www.borland.co.kr/delphi/productinfo/featurelist/ 을 방문해 보시면 자세히 알 수 있습니...
    • 여재모
    • 1999.08.13 02:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 04:25
      http://members.tripod.com/sungdong/DelphiMag.htm 을 방문해 보시면 사이트를 알 수 있을 것입니...
    • 박인재
    • 1999.08.13 01:35
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 03:42
      인재님께서는 이미지를 가질 수 있는 패널을 원하시는 모양입니다. 패널에 이미지 캑체를 넣어쓰게 되...
    • 박인재
      1999.08.13 07:05
      정성스러운 답변 말씀 잘 들었습니다. ^^ 저도 글을 올리고 나서 이렇게 저렇게 생각해보니, 님께서 말...
    • 유수
      1999.08.14 04:32
      안녕하세요. 패널의 소스가 어떻게 구성되어 있는지 모르겠습니다만, 제가 앞에 올린 컴포넌트...
    • 박인재
      1999.08.15 20:27
      유수님의 답변 말씀 정말 잘 들었습니다. 그리고 아주 많은 도움이 되었습니다. 제가 어려움을 겪고 ...
    • bluetin
    • 1999.08.13 01:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • bluetin
    • 1999.08.13 01:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.08.13 03:26
      안녕하세요..조복기입니다.. 신현묵, 정지훈님이 쓰신 '델파이4의 모든것'을 추천하네요.. 다른부...
    • 김미영
      1999.08.13 20:12
      조복기 께서 말씀하시기를... > > 안녕하세요..조복기입니다.. > > 신현묵, 정지훈님이 쓰신 '델파이...
    • 정연섭
    • 1999.08.12 23:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 03:27
      방법은 두가지가 있습니다. 코딩으로 Panel.Caption := '한출' + #13#10 + '두줄'.. 과 같이 ...
    • 남현선
    • 1999.08.12 23:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.13 03:32
      델파이4 정식판을 사용하시는지 묻고 싶네요. 혹시 베타판을 사용하신다면, 정식판으로 바꾸어 주셔...
    • 홍의식
      1999.08.12 23:59
      현재 화면은 screen.width와 screen.height로 구할수 있습니다. 그러면 form1,top := 1; form1,left ...
    • 문창완
      1999.08.14 04:27
      윤정선 께서 말씀하시기를... > 저는 델파이는 초보인데요, 연구소에서 시물레이션 프로그램을 다루게
    • 1999.08.12 21:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 유수
      1999.08.14 05:38
      안녕하세요. RxLib의 데모 프로그램중에 RichEdit 예제가 있습니다. 그중에 Paragraph(문단)설정메...