나는 아래의 C++ 예제를 사용하여 델파이에서 DLL을 쓰고 있어요 :C++ 함수를 Delphi로 변환 : void * 매개 변수와 함께 할 일?
USERDLL_API double process_message (const char* pmessage, const void* param)
{
if (pmessage==NULL) { return 0; }
if (param==NULL) { return 0; }
if (strcmp(pmessage,"state")==0)
{
current_state *state = (current_state*) param;
return process_state((current_state*)param);
}
}
불행하게도, 나는 C에 대해 아무것도 ++ 포인터 옆에 알고있다. char * (PChar?) 및 void * 대신에 무엇을 사용해야합니까?
function process_message (const pmessage: PChar; const param: ???): Double; export;
begin
???
end;
exports process_message;
본문 기능에 대한 도움도 매우 감사하겠습니다. 나는 로켓 과학은 아니지만 누군가가
C++의 기본 사항을 배우는 것은 해당 코드를 번역해야하는지 여부에 관계없이 수행해야하는 작업입니다. Delphi로 작업하면 Windows에서 작업하고 Windows에서 작업하는 경우 C 및 C++를 읽는 방법을 알아야합니다. 거의 모든 문서는 해당 언어로 제공되기 때문입니다. 당신이하지 않으면, 당신은 단지 모래에 머리를 고집하고있어. –
좋은 지적입니다, 롭. 그것은 제가 전문 소프트웨어 개발자가 아니란 것입니다. 필자는 일반적으로 로직을 수행하며 Delphi의 기본 제공 구성 요소만으로도 충분합니다. 드문 경우 였지만 그 이상의 것을 처리해야했습니다. 칭찬 stackoverflow :-) – Mikhail