Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
dll 을 만들때에는 dll 에 클래스나 전역변수같은 것들은..
이용할수 없는거예여?
dll 에서 클래스를 사용해서 호출한다던가..
아니면 변수를 정의해서 사용하거나.. 그럴순 없는건지요...?
있다면. 간단한 예제좀 ㅡㅜ
책에서는 못본거 같아서요 ㅡㅜ
3
COMMENTS
KDDG_Apine
•
2004.06.09 05:28
어떤 것을 질문 하시는지 잘 모르겠습니다..
DLL도 EXE와 똑같이 클래스와 전역변수 모두 사용 가능합니다... 단지 DLL 로 되어 있다는 것 뿐이죠
좀더 자세히 질문해 주세요.
0
0
삭제
수정
댓글
이종석
•
2004.06.09 18:13
답변 감사합ㄴ다..
제가 아직 실력이 바닥을 기고 있어서 ㅡㅜ
죄송합니다 ㅡㅜ
--- Dll 소스 ---------------------------------------------
library Project2;
uses
SysUtils,
Classes;
//--- 쿨래수 정의 ----//
type TestClass = class(TObject)
private
protected
public
function returnStr() : String;
end;
//--------------------//
{$R *.res}
function TestClass.returnStr():String;
begin
result := '쓰뎅';
end;
function CallObject() : TObject; stdCall;
begin
result := TestClass.Create;
end;
exports
CallObject index 1;
begin
end.
-- 불러 오는쪽 -------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function CallObject() : TObject; stdCall;external 'Project2.dll'
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Test : TOBject;
begin
Test := CallObject(); // <-- 호출이 됩니다 +ㅁ+;;
end;
end.
TObject 터입으로 객체를 받아버리기 때문에
TestClass 객체의 맴버인 function returnStr() : String;
에 접근이 안되자나요 ㅡㅜ
Class 케스팅을 해야하는데
그럴려면 Unit 에 TestClass 라는 클래스의 뼈대가 있어야 하구
케스팅 안하고 쓸수 있는 방법이 있나요 ㅡㅜ?
초보자의 질문입니다 ㅡㅜ
0
0
삭제
수정
댓글
이중철
•
2004.06.10 02:14
메인 App의 Heap주소와 DLL의 Heap주소가 틀려서
(제가 알고 있는것이 맞는지 사실 저도 모름 컥!)
전혀 되지 않습니다.
DLL에서 생성된 클래스는 메인에서 사용불가 이고
또한 String, Dynamic Array등도 안됩니다.
그리고 음 이것저것 안되다고 보면 타당 컥!
델파이에 보면 BORLNDMM.DLL(정확히 스펠링 모름) 사용하면
어느정도 가능하다고 합니다.(전 될 수 있으면 사용 안함)
그래도 BORLNDMM.DLL이란것을 사용하기에는 왠지 싫죠
메인프로그램이 델파이로 된 것이고 단지 DLL로 모듈화 하여
쪼갤생각으로 DLL을 만드신다면 BPL을 고려해보세요.
BPL은 위의 요구사항을 모두 만족시킵니다.
^^어차피 델파이 라이브러리는 모두 이것으로 되어 있으니 ㅋㅋ
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
강지훈
•
2004.06.09 17:51
1
COMMENTS
/
0
LIKES
e-mail / 팝업창 보내는 방법좀..
KDDG_Apine
•
2004.06.09 22:21
email를 어떤식으로 보내고 있는지는 잘 모르겠습니다.. 예전는 저는 email 컴포넌트를 사용...
휴초보
2004.06.09 16:02
0
COMMENTS
/
0
LIKES
간체(유니코드)를 출력해야 하는데...
송기원
•
2004.06.09 03:52
1
COMMENTS
/
0
LIKES
DBExpress와 오라클8.1.7. 연결
KDDG_Cali
•
2004.06.09 19:12
경험상으론 MIDAS나 오라클 클라이언트로 개발하는 시간은 비슷합니다. 서버의 동시접속 사용자에 대한 제...
박미경
•
2004.06.09 02:59
2
COMMENTS
/
0
LIKES
파라독스 DB와 MS -SQL의 찾이를 알고 싶습니다.
착한천사
•
2004.06.15 06:03
허걱!! 아주 결론적으로, 단도직입적으로 말씀드려서.. MS-SQL을 사용하십시오.. 멀티로 사용하실꺼...
KDDG_Cali
•
2004.06.09 18:56
로컬이 아닌 멀티개념이라면 파라독스는 말리고 싶네요. 깨질 위험성이여?? 제 갠적인 생각이지만 90%이...
박수연
•
2004.06.09 02:42
2
COMMENTS
/
0
LIKES
ClientDataSet 의 데이타에서 다중 Filter 하는법
KDDG_Apine
•
2004.06.09 05:34
괄호가 빠져 있네요..... 우선순위 정해서 괄호 넣으면 되지 않을까 싶습니다.
박수연
•
2004.06.11 17:27
정용수
•
2004.06.09 02:37
1
COMMENTS
/
0
LIKES
프로그램 내에서 상태 저장하기
KDDG_Apine
•
2004.06.09 05:24
설정을 저장하는 방법은 일반적으로 ini파일을 많이 사용하고요 레지에두 저장할수 있습니다. ...
이종석
•
2004.06.09 02:19
3
COMMENTS
/
0
LIKES
dll 을 만들때에는 dll 에 클래스나 전역변수같은 것들은..
이용할수 없는거예여? dll 에서 클래스를 사용해서 호출한다던가.. 아니면 변수를 정의해서 사용하거나.. 그럴순 없는건지요...? 있다면. 간단한 예제좀 ㅡㅜ 책에서는 못본거 같아서요 ㅡㅜ
KDDG_Apine
•
2004.06.09 05:28
어떤 것을 질문 하시는지 잘 모르겠습니다.. DLL도 EXE와 똑같이 클래스와 전역변수 모두 사용 가능합니...
이종석
•
2004.06.09 18:13
답변 감사합ㄴ다.. 제가 아직 실력이 바닥을 기고 있어서 ㅡㅜ 죄송합니다 ㅡㅜ --- Dll 소스 -------...
이중철
•
2004.06.10 02:14
메인 App의 Heap주소와 DLL의 Heap주소가 틀려서 (제가 알고 있는것이 맞는지 사실 저도 모름 컥!) 전혀 ...
쩐
•
2004.06.09 02:17
1
COMMENTS
/
0
LIKES
이미지리스트에서..지발~도와주세여...
KDDG_Apine
•
2004.06.09 05:31
제가 보기에는 이미지에 문제가 있지 않을까 싶습니다... 간단히 디버깅 해서 어떤 파일에서 에러가 나...
없는데요
2004.06.09 01:01
0
COMMENTS
/
0
LIKES
ListView 에 ComboBox 를 넣는방법이 궁금합니다.
임현창
2004.06.09 00:23
0
COMMENTS
/
0
LIKES
TWebBrowser 클릭한 링크 문자열 알아내기.
김형환
2004.06.09 00:15
0
COMMENTS
/
0
LIKES
MIDAS+ACTIVEFORM으로 웹프로그램을 만들고 있는중인데요 ?
김종곤
2004.06.09 00:03
0
COMMENTS
/
0
LIKES
RLINK32관련 에러..
하태진
2004.06.08 23:35
0
COMMENTS
/
0
LIKES
quick report preview에 대해서
강지훈
2004.06.08 23:33
0
COMMENTS
/
0
LIKES
알림기능구현방법???
까망곰
2004.06.08 23:11
0
COMMENTS
/
0
LIKES
Install 시 SQL*NET도 같이 Install되도록 하려면...
전진배
2004.06.08 22:50
0
COMMENTS
/
0
LIKES
컴파일할때 [Fatal Error]Internal error L1496이 나옵니다
김용덕
•
2004.06.08 22:17
2
COMMENTS
/
0
LIKES
델파이에서 wcstombs 함수와 동일한 역할을 하는 함수는?
KDDG_Apine
•
2004.06.09 05:58
델파이 5는 없는듯 싶습니다.... http://www.zeitungsjunge.de/delphi/unicode/ 이거 사용하면 되지...
김용덕
•
2004.06.09 18:41
좋은 정보 감사합니다~
김민우
•
2004.06.08 20:39
1
COMMENTS
/
0
LIKES
case 문에 관해서...
[勳]후니
•
2004.06.08 20:55
case 문제가 아닌것 같네요 senddate(i) 부분에서 에러가 발생해서 case문 마지막으로 넘겨온 것입니...
진돌
•
2004.06.08 19:37
2
COMMENTS
/
0
LIKES
날짜제한 프로그램 질문,,!!
한원희
•
2004.06.09 18:25
안녕하세요. 한원희입니다. 인터넷이 연결된 환경이라면, 표준 시간을 알려주는 타임서버를 이용하면 됩...
KDDG_Cali
•
2004.06.08 20:50
제가 했던 방법.. 레지에 등록된 날짜보다 컴퓨터날짜가 이전이면 프로그램을 못들어가게 합니다. 이...
윤지혜
•
2004.06.08 18:20
1
COMMENTS
/
0
LIKES
StretchTrasfer라는 함수에서...
너구리
•
2004.06.08 23:58
아무래도 답글이 없는걸 보니 그 함수는 다른분이 만드신거 같습니다. 저는 델파이 6인데 그런함수 없거...
이종석
2004/06/09 02:19
Views
334
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
DLL도 EXE와 똑같이 클래스와 전역변수 모두 사용 가능합니다... 단지 DLL 로 되어 있다는 것 뿐이죠
좀더 자세히 질문해 주세요.