program BabelFish;
uses
Forms,
BabelForm in 'BabelForm.pas' ,
BabelIntf in 'BabelIntf.pas';
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
|
unit BabelForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Rio, SoapHTTPClient;
type
TForm1 = class(TForm)
HTTPRIO1: THTTPRIO;
Button1: TButton;
EditSource: TEdit;
EditTarget: TEdit;
ComboBoxType: TComboBox;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses
Babelintf;
procedure TForm1.Button1Click(Sender: TObject);
begin
EditTarget.Text := (HTTPRIO1 as BabelFishPortType).
BabelFish(ComboBoxType.Text, EditSource.Text);
end;
end.
|
unit BabelIntf;
interface
uses Types, XSBuiltIns;
type
BabelFishPortType = interface(IInvokable)
['{DF96B8F8-DD8E-43A1-9276-4F821D9EA3FA}']
function BabelFish(const translationmode: String; const sourcedata: String): String; stdcall;
end;
implementation
uses InvokeRegistry;
initialization
InvRegistry.RegisterInterface(TypeInfo(BabelFishPortType), '', '');
end.
|