1.
Type 
TProcID = (piCheckXSDevHandle, piConnectServers, piAddUserProc,
             piEnrollByPwdProc, piDelUserProc, piUnknowErr,
             piGetEnrolledFingers, piFPAuthenDlg, piFPIdentify);
在使用的时候function TTrustLink_General.GetErrRsn(aProcID: TProcID): string;
begin
  case aProcID of
    piAddUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                            + CLRF + LoadStr(IDS_DELETE_EXISTED_USER_ID)
                            + CLRF + LoadStr(IDS_ADD_USER_AGAIN);
    piDelUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                            + CLRF + LoadStr(IDS_CHECK_USER_ID);
end;
怎么提示是piAddUserProc未定义呢?如何修改
2.
procedure TTrustLink_General.LoadXSDevMethod;
begin
  Connect := GetProcAddress(FhXSDev,'Connect');
  FPAuthenDlg:= GetProcAddress(FhXSDev,'FPAuthenDlg');
  EnrollByPwd:= GetProcAddress(FhXSDev,'EnrollByPwd');
  GetEnrolledFingers:= GetProcAddress(FhXSDev,'GetEnrolledFingers');
  InitAgent:= GetProcAddress(FhXSDev,'InitAgent');
  AddUserByPwd:= GetProcAddress(FhXSDev,'AddUserByPwd');
  DeleteUserByPwd:= GetProcAddress(FhXSDev,'DeleteUserByPwd');  
end;
在代码中,GetProcAddress我搜索了全文,只有这个地方出现GetProcAddress方法,但也没见它引用什么东西?请问是GetProcAddress怎么实现的?

解决方案 »

  1.   

    1)函数所在的类 uses 了 TProcId 定义类的单元文件吗?
    2)GetProcAddress:(1)按Ctrl右击该函数看看,能否到实现代码;(2)应该在uses清单的某个单元文件中实现。
      

  2.   

    (1)case aProcID of 

    end;//你的缺少这个
    (2)GetProcAddress是个API函数。
    The GetProcAddress function returns the address of the specified exported dynamic-link library (DLL) function.获得指针,用来回调函数用的。
      

  3.   

    Type 
    TProcID = (piCheckXSDevHandle, piConnectServers, piAddUserProc,
                 piEnrollByPwdProc, piDelUserProc, piUnknowErr,
                 piGetEnrolledFingers, piFPAuthenDlg, piFPIdentify);
    在使用的时候function TTrustLink_General.GetErrRsn(aProcID: TProcID): string;
    begin
      case aProcID of
        piAddUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                                + CLRF + LoadStr(IDS_DELETE_EXISTED_USER_ID)
                                + CLRF + LoadStr(IDS_ADD_USER_AGAIN);
        piDelUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                                + CLRF + LoadStr(IDS_CHECK_USER_ID);
      end;//这里少一个end
    end;
      

  4.   

    case 表达式 of
    .
    .
    .
    end;
      

  5.   

    抱歉,我第一个问题复制粘贴上来的时候少复制了个END;
    现在的问题是
    怎么提示是piAddUserProc、pielUserProc等未定义呢?如何修改???
      

  6.   

    问题1、参照一楼细心找一找。
    问题2、GetProcAddress函数在windows.pas单元声明,它是一个系统DLL函数
      

  7.   

    GetProcAddress 问比尔大叔他手下怎么实现的 
      

  8.   


    小兄弟,初學吧。  第一問題,CLRF威者你應該有全局的定義吧,不然這是一個錯誤
              LoadStr(IDS_SUGGEST_ITEM) 後面IDS_XXXX 這個也是全局的,你有沒有引用這個單元,這個應該是你項目裏的定義,你再找下。不應該你說的那個錯誤。
    Type 
    TProcID = (piCheckXSDevHandle, piConnectServers, piAddUserProc,
                 piEnrollByPwdProc, piDelUserProc, piUnknowErr,
                 piGetEnrolledFingers, piFPAuthenDlg, piFPIdentify);
    在使用的时候function TTrustLink_General.GetErrRsn(aProcID: TProcID): string;
    begin
      case aProcID of
        piAddUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                                + CLRF + LoadStr(IDS_DELETE_EXISTED_USER_ID)
                                + CLRF + LoadStr(IDS_ADD_USER_AGAIN);
        piDelUserProc : Result := CLRF + LoadStr(IDS_SUGGEST_ITEM)
                                + CLRF + LoadStr(IDS_CHECK_USER_ID);
      end. 
    end;
    怎么提示是piAddUserProc未定义呢?如何修改
    procedure TTrustLink_General.LoadXSDevMethod;
    begin
      Connect := GetProcAddress(FhXSDev,'Connect');
      FPAuthenDlg:= GetProcAddress(FhXSDev,'FPAuthenDlg');
      EnrollByPwd:= GetProcAddress(FhXSDev,'EnrollByPwd');
      GetEnrolledFingers:= GetProcAddress(FhXSDev,'GetEnrolledFingers');
      InitAgent:= GetProcAddress(FhXSDev,'InitAgent');
      AddUserByPwd:= GetProcAddress(FhXSDev,'AddUserByPwd');
      DeleteUserByPwd:= GetProcAddress(FhXSDev,'DeleteUserByPwd');  
    end;
    在代码中,GetProcAddress我搜索了全文,只有这个地方出现GetProcAddress方法,但也没见它引用什么东西?请问是GetProcAddress怎么实现的?
    這個不需要你搜什麼全文,找下 FhXSDev 賦的是什麼值,這應該是個DLL來的,也可能是包。