|
| Posted by ps.이진백 | 2004-12-31 21:21:25, Hit : 5297 | |
|
|
|
의혹1 창조에서의 문자말이죠. 같은 델파이 컴파일러를 사용하는데……. 델파이에서는 API 사용시 PChar 컴파일이 필요한데, 창조에서는 왜 그럴 필요가 없느냐 이겁니다.
혹시 창조의 문자열은 본래 PChar로 선언되고, 내부적으로 메모리를 생성/해제한것 아닐까요?
의혹2 창조에서의 실수말입니다. 왜 문을수 함수를 잘못 호출하면 런타임에러가 참 거시기하냐는 겁니다.
invalid type conversion. 뭐 이런 비스무리한 에러가 나기는 하는데.
델파이에서 inttostr 함수 잘못 호출하면 그와 다른 메시지를 접할 수 있습니다.
'%s(문자)' is not a integer. 역시 이런 맥락의 오류.
창조에서의 실수의 정체는?
의혹3 창조에서의 진리말입니다. 도대체 내부적인 메모리 값은 무엇입니까?
DLL 개발하다보면 창조와 진리형 소통이 되지를 않습니다.
같은 '참'이라도 내부적인 메모리 값은 다르다는거죠. |
|
|
위자드 2004-12-31 PM 11:03:51 |
|
|
|
잘 모르겠으니 패스~ |
|
|
지상현 2005-01-01 PM 1:03:24 |
|
|
|
맞습니다...
하지만 문자는, PChar가 맞습니다.
한번 테스트 해보세요.
문자열을 넘겨받는 DLL을 하나 만드시고,
문자: 시험용;
시험용 : = ""; // 생략해도 같음
이라고 하시고, 시험용 이라는 변수를 넘겨보세요.
""이 넘어오는게 아니라, NULL(델파이에선 nil이겠죠)이 넘어옵니다. |
|
|
지상현 2005-01-01 PM 1:09:02 |
|
|
|
아마 API 호출을 위해서 그런 것 같네요...
""이 NULL이 되다니...
그나저나
실수는...제 생각에 "실수"라는 이름을 잘 생각해봐야 한다고 생각합니다.
Integer는 정수라고 하죠.
실수: 숫자;
숫자 := 1.3;
문자창보여(수를문(숫자));
하시면 "1.3" 이라고 뜹니다.
아마 정수형이라면, 반올림되어 "1" 이라고 뜰겁니다.
'실수'는 실수형인 것 같네요.
정수형 인자를 요구하는 API 호출 문재는, 내부적으로 변환이 있다거나...할지도 -_-
진리형은 그냥 버그인것 같네요.
인자중에 진리형이 있으면, 호출 자체가 성립하지 않더군요.
API 호출하면서, 인자를 넘겨줄 때, "진리"형은 뭔가 안해두셨다거나...한 것 같습니다.
하지만 API에서 사용하는 모든 진리형은 4바이트 짜리입니다. 그래서 창조의 "실수"를 사용해도 되는 것 같네요. |
|
|
지상현 2005-01-01 PM 1:09:26 |
|
|
|
혹시 제 생각이 도움이 될까 싶어서 몇자 적어봤습니다.
새해 복 많이 받으세요~! |
|
|
ps.이진백 2005-01-01 PM 5:25:56 |
|
|
|
네... 도움 되었습니다.
무거운 새해! (Heavy new year)... 죄송합니다. 새해 복 철철 넘칠만큼 받으세요! |
|
|
지우개 Expert 3.0 제작자 : 천호성 님 [LINK] |
|
|
|
대박로또2005 제작자 : 최재일 님 [LINK] |
|
|
1 | 박종훈 님 | 15292 점 | |
2 | 지상현 님 | 8809 점 | |
3 | 손상진 님 | 7388 점 | |
4 | 권선중 님 | 6060 점 | |
5 | 이진백 님 | 5174 점 | |
|
|
|
가입일 | 닉네임 |
05/31 | 김동률 |
03/31 | 홍형기 |
09/01 | o00pp99oo |
12/27 | 이재민 |
11/20 | 이희철 |
|
|
|
|
. |
. |
. |
|