Я написал набор библиотек Win32, которые инкапсулируют фрейм Delphi (см. Фрагмент 1 ниже) и могут загружать их в другую программу Delphi, загружая dll и назначая нужные переменные (фрагмент 2).Теперь я хочу сделать то же самое в C # (я могу загрузить DLL в pinvoke, но не уверен, как подключить элемент управления к базовой форме WPF.
Фрагмент 1
var
frame : TFrame1;
function CreateFrame(hParent:TWinControl):Integer; stdcall; export;
begin
try
frame := TFrame1.Create(hParent);
frame.Parent := hParent;
frame.Align := alClient;
finally
result := 1;
end;
end;
exports CreateFrame name 'CreateFrame';
Фрагмент 2
DLLHandle := LoadLibrary('Library/Demo.Frame.dll');
If DLLHandle > 32 then
begin
ReturnValue := GetProcAddress(DLLHandle, 'CreateFrame');
end;
ts1 := TTabSheet.Create(PageControl1);
with ts1 do
begin
PageControl := PageControl1;
Name := 'tsExternal';
Caption := 'External';
Align := alClient;
ReturnValue (ts1);
end;
Любая помощь будет принята с благодарностью.