AGB  ·  Datenschutz  ·  Impressum  







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

Neustrukturierung einer DLL

Ein Thema von EWeiss · begonnen am 5. Jul 2007 · letzter Beitrag vom 7. Jul 2007
Antwort Antwort
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

Re: Neustrukturierung einer DLL

  Alt 6. Jul 2007, 16:15
ok..es gibt ein paar Plugins die wirklich Resourcen fressen. Und Winamp selbst machts auch so,das es das alte Plugin beendet, bevor es das neue startet.

Aber dafür gibts ne einfach Lösung. Gib HVIS nicht nach außen und handle das intern selbst (globale Variable). Dazu noch eine, die dir sagt, welcher Art das aktuell laufende Plugin ist.

Damit kannst du dann die Interface-Routinen stark vereinfachen. Für "Create" und "Destroy" brauchst du jeweils nur 1 Funktion. Der wird vom Anwender übergeben, welche Art von Plugin er haben möchte. Alle anderen Funktionen brauchst du auch nur einmal, da du ja dann intern weißt, welcher Plugintyp läuft.

Das würde dann fürs Erzeugen z.B. so aussehen:

Delphi-Quellcode:

   function BASSVIS_INIT(Kind:BASSVIS_KIND_T;AppHandle:Dword;WndHandle:HWND):bool;
   begin
     if (GLOBALHVIS <> 0) then
         BASSVIS_EXIT; //altes Plugin freigeben
     GlobalKind := Kind;
     Case Kind of
        SONIQUE : GLOBALHVIS := BASS_SONIQUEVIS_CreateVis...
        WINAMP : GLOBALVIS := BASS_WINAMPVIS_ExecuteVis....
        WMP : GLOBALVIS := BASS_WMPVIS_ExecuteVis....
     end;
   end;
So kannst du alle Funktionen die notwendig sind, globalisieren.
Uwe
e=mc² or energy = milk * coffee²
  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 02:42 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