AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Forms aus DLL/BPL erhalten eigenen Task

Ein Thema von AndyDF · begonnen am 20. Mai 2009 · letzter Beitrag vom 25. Mai 2009
Antwort Antwort
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#1

Forms aus DLL/BPL erhalten eigenen Task

  Alt 20. Mai 2009, 18:02
Hallo,

ich habe eine DLL entwickelt, welche als Schnittstelle zu unserer Anwendung dient. Diese DLL verwendet wiederum einige von uns entwickelte BPL´s. In den BPL´s gibt es verschiedene Formulare, welche dynamisch erzeugt und modal angezeigt werden.
Jetzt teste ich gerade unsere Schnittstellen-DLL mit der rufenden externen Anwendung (EXE). Von dieser habe ich jedoch keinen Source und somit keine Detail-Informationen. Ich weiß jedoch, dass unsere DLL ganz normal geladen wird (hierfür habe ich den Source gesehen).

Das Problem ist, dass wenn ich ein von uns erzeugtes Formular modal anzeige, dieses Form einen eigenen Task in der Taskliste erhält. Jedes weitere Form (verschachtelt) erhält auch einen eigenen Task. Ich kann zwischen den Tasks somit wechseln und das "Haupt-Programm" in den Vordergrund bringen. Auch wenn ich in diesem nichts verändern kann solange unser Formular angezeigt wird. Dies sollte doch aber nicht möglich sein.

Ich habe selbst eine Test-Anwendung geschrieben, welche unsere Schnittstellen-DLL verwendet. Hier funktioniert alles wie gewünscht. Die Forms erhalten keine eigene Tasks und werden korrekt modal angezeigt.

Unsere DLL und BPL´s sind mit Delphi 7 compiliert. Auch unser Testprogramm ist mit Delphi 7 erstellt.
Die externe Anwendung welche uns ruft ist mind. mit Delphi 2007 oder höher erstellt. Kann dies ein Grund sein? Kompatibilitätsprobleme?

Wie verhält es sich mit der TApplication Instanz? Hat die DLL eine eigene?

Hoffe ihr könnt mir helfen.

Viele Grüße,
Andreas
Andreas Blenk
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Forms aus DLL/BPL erhalten eigenen Task

  Alt 20. Mai 2009, 21:17
Du kannst versuchen Application.Handle der Exe explizit auf Application.Handle zu sezten. Ansonsten ist BPL und unterschiedliche Compilerversionen immer sehr problematisch. Ich wundere mich eher das es nicht an allen Ecken und Enden kracht? Oder verwendet ihr eine C-Kompatible Schnittstelle zwischen Exe und DLL.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Forms aus DLL/BPL erhalten eigenen Task

  Alt 25. Mai 2009, 08:36
Hallo Bernhard,

vielen Dank für die Antwort. Wie es aussieht ist das setzen des Application.Handle die Lösung. Diese ist unterschiedlich, weil wir untereschiedliche Compiler verwenden. In meinem Test-Programm funktioniert es, da sowohl dieses als auch unsere DLL mit der selben Delphi Version compiliert wurde und somit die selben Laufzeitpackages verwendet werden.

Die Schnittstelle zwischen den beiden Programmen ist kein Problem. Es wird eine C-kompatible Schnittstelle verwendet.

Viele Grüße,
Andreas
Andreas Blenk
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz