1737614703429
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 로 되어 있다는 것 뿐이죠
좀더 자세히 질문해 주세요.