Прямое подключение объектного модуля

  • Автор темы semantics
  • Дата начала
S

semantics

Гость
#1
нужно реализовать прямое обращение из DELPHI к объектному модулю на С. Что-то неправильно делаю со стыковкой интерфейсов. Подскажите кто знает.

Текст обращения к модулю Text1.obj:

unit Unit11;
{$L Text1.obj}
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
ed1: TEdit;
ed2: TEdit;
ed3: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
function proc1(x1,x2:integer):integer; cdecl; stdcall; external;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var x3:integer;
begin
x3:=proc1(12,13);
end;

end.

При компиляции выдает сообщение

[Error] Unit1.pas(38): Bad object file format: 'c:\program files\borland\delphi6\Bin\Text1.obj'
[Error] Unit1.pas(22): Unsatisfied forward or external declaration: 'proc1'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Текст "С" процедуры:

int proc1(int x1,int x2)
{int x3;
x3= x1*x2;
return x3;}