在PDA上呼叫自訂的 DLL

各位:
  你們好,我是第一次在 Labview發言,想不到第一次發言就是要問問題,有點慚愧
  最近我要寫一個 dll 給 PDA 使用,前端部份是用 Labview PDA module 開發,
  但是在遇到呼叫 DLL 時,遇到一個奇怪的問題
  我先將我的 DLL 原始碼 post 於下面:
  EXTERNC DLLEXPORT char* MsgBox (void);
  .............
  .............
  .............
  char* MsgBox(void)
{
 char* temp={0};
 char* msg="MSG";
 int i=0,sum=0;

 sprintf(temp,"WINCE:%s",msg);
 return temp;
}
  在上述的程式中,我只是單純的把字串重組並送至前端,而在 Labview 的 Call library function node 設定中以
  「CString」的方式來接收,Calling convention是指定「C」;
  這個奇怪的問題是這樣的
  若我將「sprintf........」這一行註解起來(不做動作),然後將「return temp;」改成「return MSG」時,Labview
  會成功地接收到 msg 的內容;但是,如果像上述的程式碼那樣執行「sprintf.....」這一行並將最後一行改成「return
  temp」時,我的 Labview 就卡在這樣,也沒收到任何的回傳值,更奇怪的是,沒收到任何的「錯誤訊息」

  Call library function node 設定畫面:
  ![](upload://hemD8DWKbS2uv5GweCcCht3cUub.jpeg)

  不知有那位高手可以指點一下,謝謝!

AndyTung38716.6269907407