Q&A

  • [질문] vb dll코드를 델파이로 옮기는데 도움을...
vb 코드
Public Declare Function BS_ConvertToUTF8 Lib "BS_SDK" (ByVal msg As String, ByRef utf8Msg As Byte, ByVal limitLen As Long) As Long

레코드 형 선언
...
username(32) As Byte
department(32) As Byte
...


프로그램에서
    Dim sName(20) As Byte
    Dim sDepart(20) As Byte 선언 후    
...
    iResult = BS_ConvertToUTF8("박재형", sName(0), 20)    
    iResult = BS_ConvertToUTF8("개발부", sDepart(0), 20)
    
    With hdr
        CopyMemory .username(0), sName(0), 20
        CopyMemory .department(0), sDepart(0), 20
    End With


이 것을
Function BS_ConvertToUTF8(msg: PChar; Var utf8Msg: Byte; limitLen: integer): integer; Stdcall; External 'BS_SDK.dll'

username, department: array [0..32] of byte;

프로그램에서
    sName, sBuse : array [0..20] of Byte;


   iResult := BS_ConvertToUTF8(PChar(psName), sName[0], 20);
   iResult := BS_ConvertToUTF8(PChar(psBuse), sBuse[0], 20);

    CopyMemory(@userHdr.username[0], @sName, 20);
    CopyMemory(@userHdr.department[0], @sBuse, 20);

로 변환 했는데
vb는 오류가 없이 저장되는데 델파이에서는 오류가 발생합니다.

잘못된 부분 좀 가르쳐 주세요 (바로 위의 4줄을 없애면 이름, 부서를 넣지 않고 저장됩니다)
1  COMMENTS
  • Profile
    steps 2008.05.28 08:11
    제가 잘못 리해하지않았는지. 혹 string이나 widestring을 utf8로 남기는게 목적이라면 델파이의 UTF8Encode, UTF8Decode함수를 리용하세요.
    • 유경민
    • 2008.05.29 07:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.05.29 13:53
      http://www.codegear.com/downloads/regusers/delphi http://download.borlandforum.com/delphi/Delph...
    • 구창민
      2008.05.29 20:22
      이곳 자료실에 가셔서 'delphi 6' 으로 검색해보시면 두개의 업뎃팩을 보실 수 있을겁니다. 즐거운 프...
    • 유경민
      2008.06.03 06:56
      감사합니다~
    • 홍성락
      2008.05.29 04:56
      delmadang에 [민성기]님이 올리신 소스가 있어요. 질문과 답변 {[추가] 프린터 추가 마법사~ ^^} 제목입...
    • 공성환
      2008.05.29 00:55
      FormatFloat 함수를 이용하셔도 될것같은데요... ShowMessage(FormatFloat('#,##0.0',7.0));
    • 강태원
      2008.05.29 02:31
      앗.... 그런 함수도 있군요!! 잘 동작 하네요. 알려주셔서 감사합니다.^^
    • 석주현
      2008.05.29 13:59
      전 주로 그냥 format 함수를 사용합니다. format('%2.1f',[7.0]); 보통 C 에서 쓰는 printf 와 비...
    • 강태원
      2008.06.10 02:52
      소나기님이 알려주신 방법도 좋을듯 하네요. 진작 알았으면 사용해 보는건데... 다음 프로젝트때 ...
    • 루루
    • 2008.05.28 04:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 루루
      2008.05.29 04:36
      답답해서 progdigy.com 을 뒤져 봤더니 비슷한 어려움을 겪은 케이스가 있었네요만, 그 해결책에 대한 답...
    • 루루
      2008.06.04 04:36
      ATi 라데온의 듀얼모니터 Threater 기능때문에 DSPACK234의 일부기능이 오작동 하는 것 같습니다. 지포...
    • 홍성락
    • 2008.05.29 00:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 화이팅
    • 2008.05.28 00:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.05.28 01:40
      안녕하세요.. MDI 프로젝트에 대한 개념을 잡는 것이 먼저인것 같습니다.. 아래 내용을 숙독하시면...
    • 왕초보
    • 2008.05.28 00:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • steps
      2008.05.28 08:11
      제가 잘못 리해하지않았는지. 혹 string이나 widestring을 utf8로 남기는게 목적이라면 델파이의 UTF8Enc...
    • 이정욱
      2008.05.27 13:55
      아마 컴포넌트가 제데로 설치 되지 않은것 같습니다. 설치 방법이 있는 텍스트 파일을 잘 읽어보시고 ...
    • 석주현
      2008.05.27 15:51
      정확한 에러 메세지를 알려 주셔야 말씀을 드릴 수 있을 것 같습니다. 일단 이정욱님 말씀처럼 컴포넌...
    • steps
      2008.05.27 19:56
      저는 제오스6.61베타를 쓰는데요. 일단 packages 폴더안에서 component.dpk를 찾아 컴파일하고 그 다음...
    • 이정욱
      2008.05.27 13:56
      마이빌더가.. 뭔가요? ^^; 어디서 볼수 있는것인지.. 또 어떤프로그램인지 알아야 도움을 드릴 수 있을 ...
    • 가을바람
      2008.05.27 18:26
      덕분에 마이빌더가 뭔지알겠되었네요.. 좋아보이네요.. "마이빌더"로 검색해보시길.. 개발사홈피보면 델...
    • 이정욱
      2008.05.27 13:59
      코드로는 알려드리기가 힘들지만... XML 은 기본적으로 델파이에서 파싱이 가능합니다. XML을 읽어서....
    • 최용일
      2008.05.27 00:44
      uses절에 windows유닛을 추가하세요. CreateMutex함수는 windows유닛에 있습니다.
    • dbwrite
      2008.05.30 05:33
      예전에 CreateMutex를 이용하여 처리 하다 중복으로 실행 (프로그램을 잘못짜서그런지 )되는경우가 있어 ...
    • 최용일
      2008.05.26 20:03
      xFrame, yFrame 변수가 nil인지 체크해보세요...
    • 미닛메이드
      2008.05.26 20:35
      변수가 nil이란것이 정확히 어떤것인지 모르겠네요;;; frame에서 변수라는것이 정확히 어떤것이죠?
    • 깔쌈보이
      2008.05.26 20:50
      xFrame, xForm <= 이 것 역시 변수라고 볼 수가 있습니다. 근데 설마, xFrame, xForm이 클래스 명칭...
    • 미닛메이드
      2008.05.26 23:11
      type TfrmChat = class(TTntForm) //위에서 말한 xForm 클래스 구현부분 fmChatRo...
    • 미닛메이드
      2008.05.26 23:12
      xForm, xFrame, yFrame 등은 파일이름입니다. fmChatRoom 은 폼 이름
    • 이정욱
      2008.05.26 23:41
      위의 질문에서는 사실 잘못된 점을 꼬집어 드릴수 없을것 같습니다. 엑세스 바이올레이션 에러는 선언...
    • 한상훈
    • 2008.05.26 09:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2008.05.26 11:12
      질문이 잘 이해가 안가지만.. 아이템의 StateIndex 값을 조절 하시면 됩니다.
    • 한상훈
      2008.05.26 22:47
      예를들어 ListView1.SmallImages:=ImageList1; ListView1.StateImages:=ImageList1; 여기서 Imag...
    • 김병윤
      2008.05.25 01:16
      그냥 윈도우에 작업을 등록해서 사용하시면 될 듯 보이는데 굳이 델파이 코드로 등록을 해야할까요? 제...
    • steps
      2008.05.25 01:28
      앞으로의 배포문제를 념두에 두고 저에게 준 과제입니다. 사용자보고 인스탈후에 제어판의 scheduled ta...
    • 김병윤
      2008.05.25 02:08
      어차피 인스톨한 어플에서 등록을 하더라도 윈도우 스케줄러에 등록하려면 로그인 계정이 누구인지 알고...
    • steps
      2008.05.25 03:46
      당장은 가르쳐주신대로 콘솔호출방식을 리용하렵니다. http://www.Planet-Source-Code.com/vb/scripts/S...
    • 이정욱
      2008.05.25 09:09
      배포하시기에 더 좋은 방법은 그 어플리케이션을 서비스 형태로 만드셔서 특정시간에 쿼리를 수행하게 하...
    • 구창민
      2008.05.26 06:36
      안녕하세요..아래 내용을 참고 하세요... unit Unit1; interface uses Windows, Messages,...
    • steps
      2008.05.27 00:34
      이종욱님 구창민님 정말 감사합니다. 귀한 시간 내시여 래핑까지 해주신 창민님께 다시 한번 인사드립니다.
    • • • •
    • 이정욱
      2008.05.24 20:28
      Implementation 위쪽에 선언해주세요 ^^ 밑쪽에 있으면, 그 유닛 안에서만 참조가 가능합니다.
    • 이정욱
      2008.05.25 00:32
      BDE는 제가 오랫동안 안해서.. 기억이 하나도 나질 않네요.. 시간이 좀 있으시다면 ODAC 라는 써드파...
    • 강신구
    • 2008.05.23 23:13
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2008.05.23 23:25
      안녕하세요.. 아래와 같이 설명되어 지구 있습니다.. ◇ DLL에서의 전역변수 DLL에서 선언된 전...
    • 강신구
      2008.05.23 23:36
      답변에 감사드립니다.. 한가지 더 문의 드리고 싶은데요.. 아래 설명에 따르면.. 제가 문의드린 내용...
    • 구창민
      2008.05.24 02:03
      음.. DLL 내의 전역변수를 쓰레드에서 다루어 본적이 없어서 ..쩝.. 간단한 문제가 아닌거 같네요.. ...
    • steps
      2008.05.24 00:05
      질문에 1번이 작업 종료후의 aaa 값을 리턴 받아 봤는데.. 값이 초기화 되어 있었습니다.. 라고 되여있...
    • 김원기
    • 2008.05.23 00:11
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2008.05.23 08:40
      지금 열려 있는 코드들이 어디에 저장되어 있는지 확인해 보세요. 혹시라도 프로젝트를 카피해서 다른 ...
    • 머문자리
      2008.05.26 18:19
      흠.. 저도 소스를 복사해서 업데이트 하다가 원본실행파일만 실행시킨 어처구니 없는 일들이 기억이 나네...
    • 김원기
      2008.06.18 20:13
      감사 해요. 감사 합니다. 이제야 감사하다는 말을 남기네요 ㅠㅠ 바뻐서.. 나중에 남긴다는 말을.....