0

Delphi ホストと .NET プラグインに Hydra インターフェイスを使用しています。これが IPlugin.cs です。HydraInterface.pas と IPlugin.cs の両方にメソッドと関数をいくつか追加したいと考えています。しかし、新しいメソッドを追加して実装し、デバッグすると、IPlugin.cs でのみ停止し、HydraInterface.pas に接続しませんでした。C# プラグインと Delphi HydraInterface の両方を更新するにはどうすればよいですか?

 [Guid("B6135CAD-BF01-491B-8BF3-2D5D3059E731")]
public interface IHostInterface : IHYCrossPlatformInterface
{       
    bool WriteByte(string parameterValue, byte value);
    bool WriteString(string parameterValue, string value);
    bool WriteLong(string parameterValue, int value);
}   

これが Delphi 側の HydraInterface.pas です。

IHostInterface = interface;
IHostInterface = interface(IHYCrossPlatformInterface)
['{B6135CAD-BF01-491B-8BF3-2D5D3059E731}']
function WriteRegisterByte (const parameterValue:WideString; const value:Byte): boolean; safecall;
function WriteLong(const parameterValue:WideString; const value:integer): boolean;safecall;
function WriteString(const parameterValue:WideString; const value:WideString): boolean;safecall;
4

1 に答える 1

0

COM インターフェイスでのメソッドの宣言の順序は、バイナリ インターフェイスの一部です。メソッド宣言の順序は、COM インターフェイス vtable のレイアウトを決定するために使用されます。インターフェイス内のメソッドの宣言の順序が一致していないため、その不一致を修正する必要があります。

于 2014-09-03T07:54:26.620 に答える