Delphi7でEPSON OPOS ADK を使用するには?

解決


kk  2007-11-13 21:55:07  No: 28408  IP: 192.*.*.*

Delphi7を使用してPOSアプリを作成しようとしています。
EPSON OPOS ADK をダウンロードし、Dlphi7に取り込もうとしていますが、取り込み時に再構築が行われそのときに、
//--------------------------------------------------------
function  TOPOSCashDrawer.CompareFirmwareVersion(const FirmwareFileName: WideString; 
                                                 var Result: Integer): Integer;
begin
  Result := DefaultInterface.CompareFirmwareVersion(FirmwareFileName, Result);
end;
//--------------------------------------------------------
のところで、
[エラー] COCASHLib_TLB.pas(344): 識別子の多重定義 : 'Result'
[致命的エラー] EpsonOPOS.dpk(35): '..\Imports\COCASHLib_TLB.pas' ユニットはコンパイルできませんでした
となってしまいます。
上記の部分を
//--------------------------------------------------------
function  TOPOSCashDrawer.CompareFirmwareVersion(const FirmwareFileName: WideString): Integer;
begin
  Result := DefaultInterface.CompareFirmwareVersion(FirmwareFileName);
end;
//--------------------------------------------------------
のようにしたらコンパイルが通り、取り込みもできたようですが果たしてこのような方法でよいのか分かりません。
どなたかお分かりの方いらっしゃいましたらご教授願います。

Delphi7+WindowsXP SP2

編集 削除
うんと  2007-11-13 22:20:11  No: 28409  IP: 192.*.*.*

Result がかぶってるんでしょう。

COCASHLib_TLB.pas  の宣言部と実装部の

var Result: Integer



var iResult: Integer

とかに書き換えるといいのでは。

編集 削除
HOta  2007-11-14 07:26:12  No: 28410  IP: 192.*.*.*

ResultはDelphiでは予約語で、関数の戻り値になっています。
別に定義すると、多重定義という事になります。

編集 削除
KHE00221  2007-11-14 07:42:50  No: 28411  IP: 192.*.*.*

Result := DefaultInterface.CompareFirmwareVersion(FirmwareFileName, Result);

の  Result);  も iResult にするのを忘れずに

Result := DefaultInterface.CompareFirmwareVersion(FirmwareFileName, 
Result);

この両方の Result の返り値の意味がわかりませんが

おそらく

Result := は CompareFirmwareVersion は関数自体が成功したかどうか?(エラー判定)
Result    は CompareFirmwareVersion の返り値

もしく

Result := は使用していないかも知れません。

編集 削除
kk  2007-11-14 13:55:48  No: 28412  IP: 192.*.*.*

うんとさん、HOtaさん、KHE00221さん、すばやいご対応ありがとうございます。
ResultをiResultとして試してみます。
ありがとうございました。

編集 削除