엑셀과 VS C코드 dll 연결할 대 스택공간 부족

VBA
작성자
이재열
작성일
2024-06-12 22:24
조회
395
엑셀버전 : 엑셀2021

운영체제 : 윈도우11

질문 요약 : 엑셀 dll 연결시에 vba가 아닌 수식 직접 사용에 대한 오류

안녕하세요, 엑셀이랑 DLL 연결해보고 있는데 문제가 있어서 질문드립니다.

#ifndef DLLEXPORT(A)

#ifdef WIN32
#define DLLEXPORT(A) extern "C" __declspec(dllexport) A _stdcall
#elif _WIN64
#define DLLEXPORT(A) extern "C" __declspec(dllexport) A _stdcall
#elif __linux__
#define DLLEXPORT(A) extern "C" A
#elif __hpux
#define DLLEXPORT(A) extern "C" A
#elif __unix__
#define DLLEXPORT(A) extern "C" A
#else
#define DLLEXPORT(A) extern "C" __declspec(dllexport) A _stdcall
#endif

#endif

DLLEXPORT(long) test_sum(
long a,
long b
)
{
long result = a + b;
return result;
}

이런 함수를 짜서 dll로 만들고, 64비트 엑셀 환경에서 시행하려고 합니다.

Declare PtrSafe Function test_sum Lib "????\바탕 화면\JYTEST\x64\Debug\JYTEST.dll" _
(ByVal a As Long, ByVal b As Long) As Long

과 같이 모듈 VBA상에 정의를 한 다음

 

VBA에

option explicit

Dim a as long: Dim b as long

a =1: b=1

cells(1,) = test_sum(1,1) 하면 정말 잘 나오는데

 

엑셀 셀상의 수식으로 =test_sum(1,1) 을 하면 이상한 값이 나오고

이후에 vba상으로 돌리려 하면 스택공간 부족 오류가 뜨더라고요.

다른 컴에서는 잘 되어서 dll오류가 아니라 엑셀 문제같은데,

 

이상한 점은 디버그를 할 떄 인수에 1,1 이 아니라 다른 값을 넣어고

인풋된 값은 변하지 않더라고요. 아마 이상한 주소값을 고정으로 넣는 것 같은데 혹시 해당 현상에 대해 아시는 점이 있는지 궁ㄱ므해서요

신고
스크랩
공유
전체 4

  • 2024-06-13 08:51

    @이재열 님 현재 사용중인 Office가 32bit인지 64bit인지 확인하고,
    잘 된다는 컴과 비교해 보세요.


    • 2024-06-13 10:23

      @원조백수 님 사용하는 컴은 현재 64비트고, 잘 되는 컴은 32비트입니다.

      다만 디엘엘도 그에 맞게 32비트는 32비트로, 64는 64비트로 했습니다


      • 2024-06-13 10:43

        @이재열 님 그럼 DLL을 64bit에서 호출하는 문제가 되겠네요.
        VBA에서 64bit, 32bit 겸용 호출할 때에
        #IF WIN64 Then
        Declare PtrSafe Function ...
        #Else
        Declare Function ...
        #End if
        이런 식으로 호출하는데
        VBA에서 호출하는 방식과 DLL에서 대응하는 방식이 잘 매칭되는지 검색해 보세요.

         


        • 2024-06-13 10:49

          @원조백수 님 ptrsafe는 사용중입니다.. ㅠㅠㅠ

          집가서 한번 다르게 해보겠습니다..

           

          다른 컴에서 다른버전의 64bit엑셀 깔았응 때는 잘 되었던 것 같은데..


전체 16,938
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] 2024년 엑셀 공부, 이 책 한권으로 마스터하세요! (291)
오빠두엑셀 | 2022.02.03 | 추천 554 | 조회 846342
오빠두엑셀 2022.02.03 554 846342
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 304 | 조회 31518
오빠두엑셀 2021.10.28 304 31518
74628 구글시트
New IMPORTRANGE 함수에서 칸을 늘리면 사라지는데 고정하는 방법은 없을까요? (1)
야망이 | 17:36 | 추천 0 | 조회 18
야망이 17:36 - 18
74627 문서서식
New 조건부 서식 문의 엑셀파일첨부파일 (1)
배고픈짐승 | 15:44 | 추천 0 | 조회 42
배고픈짐승 15:44 - 42
74626 파워쿼리/피벗
New [파워쿼리] 여러 파일 한번에 불러올 때 데이터 유실 첨부파일 (3)
naa**** | 14:40 | 추천 0 | 조회 42
naa**** 14:40 - 42
74625 VBA
New 시트이동시 유저폼 실행방법 문의 (2) 답변완료
땡이 | 14:36 | 추천 0 | 조회 37
땡이 14:36 - 37
74621 기능/도구
New 4개의 열 에서 같은 이름 가로로 정렬 (3)
Bukonge | 12:36 | 추천 0 | 조회 47
Bukonge 12:36 - 47
74618 VBA
New 유저폼에 바코드스캔시 입력속도 개선방법? (5) 답변완료
땡이 | 11:36 | 추천 0 | 조회 49
땡이 11:36 - 49
74616 함수/공식
New Rawdata 첨부파일 (4)
HIHUGO | 10:48 | 추천 0 | 조회 61
HIHUGO 10:48 - 61
74604 문서서식
New 간트차트 조건부서식 이용 문의 엑셀파일첨부파일 (3)
배고픈짐승 | 2024.10.30 | 추천 0 | 조회 74
배고픈짐승 2024.10.30 - 74
74599 함수/공식
New 이런 경우에는 무슨 함수를 써야할까요..? (2)
iwnqn | 2024.10.30 | 추천 0 | 조회 92
iwnqn 2024.10.30 - 92
74598 문서서식
New 엑셀 유효성 검사 뛰어 쓰기 문제 엑셀파일 (2) 답변완료
퉁퉁이 | 2024.10.30 | 추천 0 | 조회 66
퉁퉁이 2024.10.30 - 66
74592 함수/공식
New 여러 값들 중에서 원하는 값을 찾고 싶어요 도와주세요! 첨부파일 (9) 답변완료
저도해볼게요 | 2024.10.30 | 추천 0 | 조회 94
저도해볼게요 2024.10.30 - 94
74589 구글시트
New 한셀에 줄바꿈으로 있는 여러데이터를 한셀에 한데이터 들어가게끔 일괄로 하고 싶습니다 첨부파일 (4) 답변완료
스톤스톤 | 2024.10.30 | 추천 0 | 조회 59
스톤스톤 2024.10.30 - 59
74585 VBA
New UserForm 크기질문 첨부파일 (5)
땡이 | 2024.10.30 | 추천 0 | 조회 72
땡이 2024.10.30 - 72
74583 함수/공식
New XLOOKUP 함수의 다중조건을 잘 모르겠습니다 첨부파일 (6)
qlcc**** | 2024.10.30 | 추천 0 | 조회 86
qlcc**** 2024.10.30 - 86
74582 함수/공식
New filter 함수에 대해 문의드립니다 (5)
김은상 | 2024.10.30 | 추천 0 | 조회 70
김은상 2024.10.30 - 70
74581 구글시트
New 구글폼 견적서 자동화 관련, 폼에서 입력된 이미지 파일을 견적서에 넣는 방법 좀 알려주시면 감사하겠습니다.
| 2024.10.30 | 추천 0 | 조회 56
2024.10.30 - 56
74572 차트/그래프
New 꺽은선 그래프의 레이블이 원복이 됩니다. 첨부파일 (3)
구리구리이 | 2024.10.30 | 추천 0 | 조회 62
구리구리이 2024.10.30 - 62
74570 함수/공식
New 배수 금액으로 순번 정하기 알려 주세요...ㅠ 엑셀파일첨부파일 (3) 답변완료
서기 | 2024.10.30 | 추천 0 | 조회 59
서기 2024.10.30 - 59
74566 함수/공식
New 두개의 열에 입력된 데이터를 순서 바꿔서 입력으로 중복일 때 골라내는 법 엑셀파일첨부파일 (1)
문과적남자 | 2024.10.30 | 추천 0 | 조회 59
문과적남자 2024.10.30 - 59
74564 함수/공식
New 각 열별로 합 구하는 방법 첨부파일 (2) 답변완료
라핼 | 2024.10.30 | 추천 0 | 조회 78
라핼 2024.10.30 - 78
74563 함수/공식
New 필터 적용시 중복값 제외 카운트 되는 법 좀 알려주세요 ㅠㅠ 첨부파일 (1)
정재욱 | 2024.10.30 | 추천 0 | 조회 73
정재욱 2024.10.30 - 73
74558 함수/공식
New 문자와 숫자가 섞여있는 열의 합계와 평균을 구하는 방법을 알려주세요!! 첨부파일 (9)
침착해 | 2024.10.30 | 추천 0 | 조회 79
침착해 2024.10.30 - 79
74556 함수/공식
New 세트상품 마진율 구하기 (2)
ek02 | 2024.10.30 | 추천 0 | 조회 64
ek02 2024.10.30 - 64
74543 기능/도구
New 문자와 숫자 혼합된 셀에서 숫자만 따로 따올수 있는 기능이 있을까요? 첨부파일 (4)
야만용사 | 2024.10.29 | 추천 0 | 조회 99
야만용사 2024.10.29 - 99
74542 기능/도구
New 엑셀 백분율 숫자로변경 (3)
rarara | 2024.10.29 | 추천 0 | 조회 90
rarara 2024.10.29 - 90
74540 함수/공식
New ★데이터 가공★ 잘못된 데이터를 올바른 데이터로 변환하는 과정을 도와주세요 ㅠㅠ 엑셀파일첨부파일 (11)
| 2024.10.29 | 추천 0 | 조회 129
2024.10.29 - 129
74539 함수/공식
New 안녕하세요 INDEX, MATCH 다중조건 질문드립니다! 엑셀파일 (3)
gys**** | 2024.10.29 | 추천 0 | 조회 96
gys**** 2024.10.29 - 96
74533 함수/공식
New 산출집계시트에 항목을 산출서에서 가져오고싶어요 엑셀파일 (3)
Moto | 2024.10.29 | 추천 0 | 조회 91
Moto 2024.10.29 - 91
74532 문서서식
New [질문] 전체 행 또는 열을 선택 후 특정 셀만 선택 제외 시키기 첨부파일 (2)
ViVaViva | 2024.10.29 | 추천 0 | 조회 78
ViVaViva 2024.10.29 - 78
74530 함수/공식
New Lookup 함수 오류에 관한 문의 엑셀파일첨부파일 (6) 답변완료
TMOH | 2024.10.29 | 추천 0 | 조회 93
TMOH 2024.10.29 - 93