AGB  ·  Datenschutz  ·  Impressum  







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

DLLs in eingenem Prozess starten

Ein Thema von Dani · begonnen am 2. Mär 2003 · letzter Beitrag vom 3. Mär 2003
Antwort Antwort
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#1

DLLs in eingenem Prozess starten

  Alt 2. Mär 2003, 17:06
edit: *seufz* der Titel passt leider nicht ganz...hab auch noch ein Wort vergessen *schäm*

Hi Leutz,

Ich arbeite zur Zeit an einer Audioplayer-DLL, welche von einem Setupprogramm aus aufgerufen wird.

Das Problem ist:

Das Setup-Programm macht erst dann weiter, wenn die DLL ihr Funktionsergebnis zurückgegeben hat, ich will aber, dass das Setup-Programm sofort zurückkehrt und die DLL arbeiten lässt...

Wie kann ich es anstellen, dass das Setup-Programm sein Funktionsergebnis erhält, obwohl die DLL weiter ausgeführt wird?

bzw. ist es generell ohne Threads machbar, eine Funktion aufzurufen, dann aber gleich im code weiterzumachen ohne dass auf ein Ergebnis gewartet wird?


Gruß,
Dani
Dani H.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 2. Mär 2003, 17:48
Zitat:
ist es generell ohne Threads machbar
Überleg doch mal, was du da willst. 2 Funktionen sollen gleichzeitig ablaufen: Die Setup-Routine soll weitermachen während die Audio-DLL abspielt.
Das können nur Threads (bzw. Prozesse, aber die sind ja auch nur wieder Threads in unterschiedlichen Adressräumen)
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#3
  Alt 2. Mär 2003, 23:56
Ich würde ja nicht danach fragen, wenn ich nicht wüsste, dass es eigentlich gehen müsste

In einem C++ Beispiel wird mit solch einer DLL ein Fenster erzeugt, das auch nach Ende der DLL-Ausführung noch sichtbar bleibt...

Kennt jemand die Bedeutung von "CALLBACK" im C-syntax?

...vielleicht sollte ich meine Frage umformulieren:

Wie rufe ich aus einer DLL_1 heraus die Funktion einer weiteren DLL_2 auf, sodass DLL_2 nach Beendigung von DLL_1 weiterhin ausgeführt wird?

Oder auf den Punkt gebracht: Wie starte ich eine DLL in einem eigenen Prozess? (falls das geht..)
Dani H.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4
  Alt 3. Mär 2003, 08:55
Zitat von Dani:
Kennt jemand die Bedeutung von "CALLBACK" im C-syntax?
Ja: "Rückruf". Da muss in der DLL ein eigenet Thread oder zumindest ein verstecktes oder sichtbares Fenster sein, das dann Botschaften erhält und nach einer bestimmten Zeit oder Botschaft dann die CALLBACK-Funktion aufruft, womit der Aufrufer der DLL weiß, dass die DLL nun fertig ist.


Zitat:
Wie rufe ich aus einer DLL_1 heraus die Funktion einer weiteren DLL_2 auf, sodass DLL_2 nach Beendigung von DLL_1 weiterhin ausgeführt wird?
Mit Threads oder Classes.AllocateHWnd/Classes.DeallocateHWnd.


Zitat:
Oder auf den Punkt gebracht: Wie starte ich eine DLL in einem eigenen Prozess? (falls das geht..)
Wieso denn gleich einen eigenen Prozess aufmachen. Ein Thread reicht, der hat um einiges weniger Overhead als ein Prozess.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 3. Mär 2003, 11:17
Danke, ich werds mal versuchen
Dani H.
  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 07:04 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