AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Prism Externe Anwendung auf das eigene Programm legen?
Thema durchsuchen
Ansicht
Themen-Optionen

Externe Anwendung auf das eigene Programm legen?

Ein Thema von Alexander · begonnen am 11. Sep 2007 · letzter Beitrag vom 13. Sep 2007
 
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#1

Externe Anwendung auf das eigene Programm legen?

  Alt 11. Sep 2007, 20:30
Hallo ,
ich habe mit C# (.NET 2.0) eine Komponente geschrieben. Diese möchte ich auch gerne in einer Delphi.NET Anwendung verwenden (.NET 1.1). Aufgrund der unterschiedlichen .NET Version klappt das ja nicht.

Meine Idee war jetzt folgende:
Ich bastel nen kleines Programm um die Komponente (mit C#) und starte das Programm in meiner Delphi.NET Anwendung (.NET 1.1).
Dann habe ich mir überlegt, könnte ich ja einfach mit der Win32API Funktion SetParent die Handles umbiegen und so die Anwendung in die Delphi-Anwendung bekommen. Dazu erstelle ich mir eine Form, auf die dann die Anwendung angezeigt werden soll.

Gesagt getan:
Testweise starte ich erstmal den Taschenrechner.
Delphi-Quellcode:
   TProcessHelper = class
  private
    [DllImport('"user32.dll')]
    class function SetParent(hWndChild : IntPtr; hWndNewParent : IntPtr) : IntPtr; static;
  {...}
procedure loadProcess();
var
   p : Process;
   frm : Form;
begin
  frm := Form.Create();
  frm.Owner := _parent;
  frm.ShowInTaskbar := false;

  p := Process.Create();
  p.StartInfo.FileName := 'calc.exe';
  include(p.Exited, p_Exited); // nur damit das Form auch wieder geschlossen werden kann.
  p.Start();

  SetParent(p.MainWindowHandle, frm.Handle);
  frm.ShowDialog();
end;
Leider kommt sobald ich mit der Maus auf den Taschenrechner oder meine Anwendung klicke die Fehlermeldung:
Zitat:
"Die DLL user32.dll kann nicht geladen werden."
Woran kann das liegen ?
Vielleicht fällt euch ja auch noch eine etwas elegantere Möglichkeit ein, die Anwendung in das Delphi-Programm zu integrieren?

Besten Dank,
Alexander
Alexander
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz