Ich habe nun einige Tests gemacht. Mit einer
ActiveX-
DLL funktioniert es definitiv nicht, ich muss eine
ActiveX-Exe verwenden.
Offenbar läuft die
DLL im Speicherraum des aufrufenden Prozesses, daher kann man nicht von zwei unterschiedlichen Prozessen auf dieselbe
DLL zugreifen. Es werden in jedem Fall zwei Instanzen mit unterschiedlichem Adressraum gestartet.
Das zur Info
Tom
Zitat von
shmia:
Zitat von
tgoessi:
Aus einer unserer Anwendung heraus muss ich Informationen einer Fremdapplikation über
ActiveX zur Verfügung stellen. Unsere Anwendung soll aber aus kompatibilitätsgründen kein
ActiveX-Interface zur Verfügung stellen.
Das verstehe ich nicht so ganz, aber man kann eine Anwendung mit Automatisierungsschnittstelle so bauen,
dass keine Benutzeroberfläche sichtbar wird, wenn die Anwendung über
COM angestartet wurde:
Delphi-Quellcode:
begin
Application.Initialize;
if (Pos('Embedding', ParamStr(1)) <> 0) then
begin
Application.ShowMainForm := False;
end;
Application.Title := 'AppTitle';
Application.CreateForm(TFrmMain, FrmMain);
Application.Run;
end.
[/quote]