cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. EST on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-703728%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%E6%96%87%E5%AD%97%E5%88%97%E9%85%8D%E5%88%97%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6DLL%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81%E4%BA%8C%E9%87%8D%E9%85%8D%E5%88%97%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-703728%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E7%A7%81%E3%81%AF%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%20%E3%82%AC%E3%82%A4%E3%83%89%E3%81%AE%E6%86%B2%E7%AB%A0%2014%20%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E8%AA%AD%E3%81%BF%E3%80%81C%20%E9%96%A2%E6%95%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%82%92%E8%A1%8C%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%20testdll.jsl%20%E3%81%AF%E3%80%81AnsiString%20(in%20%E3%81%8A%E3%82%88%E3%81%B3%20out)%20%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%8D%98%E7%B4%94%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E3%81%A7%E6%AD%A3%E5%B8%B8%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%E3%83%AD%E3%82%B0%E3%81%A7%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%93%E3%81%A8%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E---%3CBR%20%2F%3E%20dll_obj%20%3D%20DLL(%22C%3A%5CUsers%5Ccharlie.chu%5CDocuments%5CJMP%5CJSL%5Cjmptest2.dll%22)%3B%3CBR%20%2F%3E%20%5BCDECL%5D%20AnsiString%20testFunc(AnsiString)%3B%3CBR%20%2F%3E%E7%B5%90%E6%9E%9C%20%3D%20%22ABC%22%3B%3CBR%20%2F%3E%20---%3CBR%20%2F%3E%E7%A7%81%E3%81%AE%E8%B3%AA%E5%95%8F%E3%81%AF%E3%80%81%20%7B%221.2%2C%202.3%2C%203.4%22%2C%20%225.6%2C%206.7%2C%207.8%22%7D%20%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%80%81%E6%9C%80%E7%B5%82%E7%9A%84%E3%81%AB%20%7B%20%7B1.2%2C%202.3%2C%203.4%7D%20%2C%20%7B5.6%2C%206.7%2C%207.8%7D%20%7D%E3%80%82%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%E9%81%A9%E5%88%87%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3EC%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81%E9%96%A2%E6%95%B0%20strSplit%20%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%3E%E3%83%80%E3%83%96%E3%83%AB%3C%2FSPAN%3E%3CSPAN%3E**%3C%2FSPAN%3E%3CSPAN%3E%20strSplit%3C%2FSPAN%3E%3CSPAN%3E%20(%3C%2FSPAN%3E%3CSPAN%3E%E3%83%81%E3%83%A3%E3%83%BC%3C%2FSPAN%3E%3CSPAN%3E**%3C%2FSPAN%3E%3CSPAN%3E%20strArray%3C%2FSPAN%3E%3CSPAN%3E%20)%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%20AnsiString%E3%81%AF%E4%BD%BF%E3%81%88%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81ObjPtr%E3%82%82%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3EPS%3A%20C%20%E8%A8%80%E8%AA%9E%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-703728%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%A8%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E4%BD%9C%E6%88%90%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E3%83%9E%E3%82%B9%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%BA%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-704062%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20String%20Array%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20DLL%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81Double%20Array%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-704062%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%81%93%E3%81%A7%E8%A8%80%E5%8F%8A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FDiscussions%2FDoes-anyone-know-about-TDMS-format-data-converting-into-JMP%2Fm-p%2F367590%2Fhighlight%2Ftrue%23M61750%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.jmp.com%2Ft5%2FDiscussions%2FDoes-anyone-know-about-TDMS-format-data-converting-into-JMP%2Fmp%2F367590%2Fhighlight%2Ftrue%23M61750%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%E3%82%A6%E3%82%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2FJMP-Wish-List%2FExtend-the-support-of-arrays-in-JMP-s-DLL-capabilities-beyond%2Fm-p%2F474573%23U474573%22%20class%3D%22lia-mention-container-editor-message%20lia-img-icon-idea-thread%20lia-fa-icon%20lia-fa-idea%20lia-fa-thread%20lia-fa%22%20target%3D%22_blank%22%3EJMP%20%E3%81%AE%20DLL%20%E6%A9%9F%E8%83%BD%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E9%85%8D%E5%88%97%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%202%20%E5%80%8D%E3%82%92%E8%B6%85%E3%81%88%E3%81%A6%E6%8B%A1%E5%BC%B5%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-704140%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20String%20Array%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20DLL%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81Double%20Array%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-704140%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%80%82%20%E7%B5%90%E8%AB%96%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AF%E3%80%81%E4%BB%8A%E3%81%AE%E3%81%A8%E3%81%93%E3%82%8D%E8%A7%A3%E6%B1%BA%E7%AD%96%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%20DLL%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81TCPIP%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6JMP%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%99%E3%80%82%E6%98%8E%E3%82%89%E3%81%8B%E3%81%AB%E9%81%85%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99...%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-704569%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20String%20Array%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20DLL%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81Double%20Array%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-704569%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3EC%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81%E5%BC%95%E6%95%B0%E3%82%92%E5%86%8D%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E5%8C%96%E3%81%97%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E1)%20%E9%95%B7%E3%81%84%E6%96%87%E5%AD%97%E5%88%97%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E9%80%A3%E7%B5%90%E3%81%97%E3%81%9F%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E2)%20%E6%95%B0%E5%80%A4%E9%85%8D%E5%88%97%E3%80%82%E8%A6%81%E7%B4%A0%E3%81%AF%E5%80%8B%E3%80%85%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E9%95%B7%E3%81%95%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%E5%80%8B%E3%80%85%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%E3%82%92%E8%A8%98%E9%8C%B2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%9D%E3%81%97%E3%81%A6%E3%80%81C%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E3%81%9D%E3%82%8C%E3%82%89%E3%82%92%E8%A7%A3%E5%87%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-704839%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20String%20Array%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20DLL%20%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%80%81Double%20Array%20%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-704839%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E7%9B%AE%E7%9A%84%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81JSL%20%E3%81%A7%E3%81%9D%E3%82%8C%E3%82%92%E8%A1%8C%E3%81%86%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%93%E3%81%A7%E3%81%AF%202%20%E3%81%A4%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3E%2F%2F%20Given%20this%20string%3A%0Aa%20%3D%20%7B%221.2%2C%202.3%2C%203.4%22%2C%20%225.6%2C%206.7%2C%207.8%22%7D%3B%0A%0A%2F%2F%20Return%20data%20like%20%7B%20%7B1.2%2C%202.3%2C%203.4%7D%20%2C%20%7B5.6%2C%206.7%2C%207.8%7D%20%7D%0A%0A%2F%2F%20Parse%20things%20apart%0Anew_list%20%3D%20%7B%7D%3B%0Am%20%3D%200%3B%0A%0Afor%20(i%20%3D%201%2C%20i%20%26lt%3B%3D%20nitems(a)%2C%20i%2B%2B%2C%0A%20one_list%20%3D%20words(a%5Bi%5D%2C%20%22%2C%20%22)%3B%0A%20for%20(k%20%3D%201%2C%20k%20%26lt%3B%3D%20nitems(one_list)%2C%20k%2B%2B%2C%0A%20%20one_list%5Bk%5D%20%3D%20num(one_list%5Bk%5D)%3B%0A%20)%3B%0A%20m%2B%2B%3B%0A%20new_list%5Bm%5D%20%3D%20one_list%3B%0A)%3B%0A%0Aprint(new_list)%3B%0A%0A%2F%2F%20Use%20matrix%20operators%0Aexec_string%20%3D%20%22new_mat%20%3D%20matrix(%7B%22%3B%0Afor%20(i%20%3D%201%2C%20i%20%26lt%3B%3D%20nitems(a)%2C%20i%2B%2B%2C%0A%20if%20(i%20%3D%3D%201%2C%0A%20%20exec_string%20%3D%20exec_string%20%7C%7C%20%22%7B%22%20%7C%7C%20a%5Bi%5D%20%7C%7C%20%22%7D%22%3B%0A%20%2C%0A%20%20exec_string%20%3D%20exec_string%20%7C%7C%20%22%2C%20%7B%22%20%7C%7C%20a%5Bi%5D%20%7C%7C%20%22%7D%22%3B%0A%20)%3B%0A)%3B%0A%0Aexec_string%20%3D%20exec_string%20%7C%7C%20%22%7D)%22%3B%0Aeval(parse(exec_string))%3B%0A%0Aprint(new_mat)%3B%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%E6%9C%80%E5%88%9D%E3%81%AE%E3%82%82%E3%81%AE%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%3A%3C%2FP%3E%0A%3CPRE%3E%7B%7B1.2%2C%202.3%2C%203.4%7D%2C%20%7B5.6%2C%206.7%2C%207.8%7D%7D%3C%2FPRE%3E%0A%3CP%3E2%20%E7%95%AA%E7%9B%AE%E3%81%AE%E9%96%A2%E6%95%B0%E3%81%AF%E8%A1%8C%E5%88%97%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%3E%5B1.2%202.3%203.4%2C%205.6%206.7%207.8%5D%3C%2FPRE%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
Charlie_Chu
Level I

How to call DLL function with String Array and receive Double Array data?

I had read the content of charter 14 in scripting guide, and did some test about my C function.
The attachment testdll.jsl works fine with simple data, like AnsiString (in and out). In the log I can see:

---
dll_obj = DLL("C:\Users\charlie.chu\Documents\JMP\JSL\jmptest2.dll");
[CDECL] AnsiString testFunc(AnsiString);
result = "ABC";
---
My question is, if I want to sent data like {"1.2, 2.3, 3.4", "5.6, 6.7, 7.8"}, and finally recieve the return data like { {1.2, 2.3, 3.4} , {5.6, 6.7, 7.8} }. How should I do? I can not find a suitable data type.

In the C code, the function strSplit is defined with

double** strSplit(char** strArray) {

I can not use AnsiString, but ObjPtr is also failed. 
PS: I found the c language code can not be an attachment file.....

 
4 REPLIES 4
jthi
Super User

Re: How to call DLL function with String Array and receive Double Array data?

CharlieChu
Level I

Re: How to call DLL function with String Array and receive Double Array data?

Thanks. So the conclusion is: No solution so far.
I will try send data from JMP with TCPIP socket instead of calling DLL function, it will be obviously slower... 

Charlie Chu
peng_liu
Level VII

Re: How to call DLL function with String Array and receive Double Array data?

Maybe try repackaging your arguments before sending to your C codes:

1) A long string, which is a concatenation of all your string

2) A numerical array, elements record either the lengths of individual strings, or offsets of individual string

And your C codes need to unpack them.

pmroz
Super User

Re: How to call DLL function with String Array and receive Double Array data?

If your objective is to convert your string to a list of lists, you could do that in JSL.  Here are two approaches:

// Given this string:
a = {"1.2, 2.3, 3.4", "5.6, 6.7, 7.8"};

// Return data like { {1.2, 2.3, 3.4} , {5.6, 6.7, 7.8} }

// Parse things apart
new_list = {};
m = 0;

for (i = 1, i <= nitems(a), i++,
	one_list = words(a[i], ", ");
	for (k = 1, k <= nitems(one_list), k++,
		one_list[k] = num(one_list[k]);
	);
	m++;
	new_list[m] = one_list;
);

print(new_list);

// Use matrix operators
exec_string = "new_mat = matrix({";
for (i = 1, i <= nitems(a), i++,
	if (i == 1,
		exec_string = exec_string || "{" || a[i] || "}";
	,
		exec_string = exec_string || ", {" || a[i] || "}";
	);
);

exec_string = exec_string || "})";
eval(parse(exec_string));

print(new_mat);

The first one returns:

{{1.2, 2.3, 3.4}, {5.6, 6.7, 7.8}}

The second one returns a matrix:

[1.2 2.3 3.4, 5.6 6.7 7.8]

Recommended Articles