Для моего последнего проекта я использовал много фреймов в своем приложении delphi, поэтому я решил создать dll и поместить их в dll (ВСЕ созданные в Delphi)
Я просмотрел множество веб-сайтов и нашел код, который работает, но для этого примера мне нужно скомпилировать и приложения, и библиотеки dll с сборкой с пакетами времени выполнения , что означает, что я должен также распространять bpls. и если не проверять сборку с пакетами времени выполнения, то приходит ошибка
это код, который я нашел
в exe
procedure TForm1.Button1Click(Sender: TObject);
type
TGetTheFrame =Function( Owner: TComponent; TheParent: TWinControl ): TFrame; stdcall ;
var
GetTheFrame : TGetTheFrame;
begin
try
GetTheFrame(application,TabSheet1).Free ;
except
end;
frm := GetTheFrame(application,TabSheet1) ;
dllHandle := LoadLibrary('project1.dll') ;
if dllHandle <> 0 then
begin
GetTheFrame := GetProcAddress(dllHandle, 'GetTheFrame') ;
frm := GetTheFrame(application,TabSheet1) //call the function
{ ShowMessage('error function not found') ;
FreeLibrary(dllHandle) ; }
end
else
begin
ShowMessage('xxxx.dll not found / not loaded') ;
end
в dll
Function GetTheFrame( Owner: TComponent; TheParent: TWinControl ): TFrame; stdcall;
Begin
Result := TFrame2.Create( Owner );
Result.Parent := TheParent;
End;
это все, но я хочу, чтобы этот код работал без пакетов времени выполнения