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
Seite 4 von 4   « Erste     234   
Ghostwalker

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

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 12:18
Wie du die Konstante benennst bleibt vollkommen dir überlassen. Den Namen hab ich mir einfach mal so ausgedacht.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#32

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 12:30
Zitat von Ghostwalker:
Wie du die Konstante benennst bleibt vollkommen dir überlassen. Den Namen hab ich mir einfach mal so ausgedacht.
Ah so gut
Werd vom fortschritt berichten.

Wenn du interesse hast kann ich dir demnächst mal den QuellText von BassVis schicken aber
Achtung:
Dieser ist kein OpenSource und darf in keiner weise öffentlich gemacht werden.
Muss aber erst mal noch was dran tun

Benötige irgendwann einen Nachfolger denn so Jung bin ich auch nicht mehr ..

gruss Emil
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#33

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 16:33
Habe da noch ein verständnis problem

Du schreibst
procedure BASSVIS_Execute(Para:TExecutePara); Verstehe ich nun nicht so recht
Denn genau diese Funktion sollte exportiert und der ganze andere Kram gelöscht werden.

Das soll dann gelöscht werden
Delphi-Quellcode:
function BASS_WINAMPVIS_ExecuteVis(PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean): HVIS; stdcall; external TheDll;
function BASS_SONIQUEVIS_CreateVis(f, visconfig:PChar; flags, w, h: DWORD):HVIS; stdcall; external TheDll;
function BASS_WMPVIS_ExecuteVis(PlgListIndex: Integer; PresetIndex: Integer; VisWinhandle: DWORD; Left, Top, width, heigth: Integer): HVIS; stdcall; external TheDll;
Also eine Funktion für drei.

Aber alle Funktionen der verschiedenen Typen mit obiger procedure ausführbar sein.
Denke dann mal das diese so nicht bleiben kann.

Ich müßte sie dann so umschreiben wie diese
BASSVIS_ExecuteVis(Kind: BASSVIS_KIND_T; PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean):HVIS; stdcall; und intern die Originale function umbenennen eg..
ExecuteWinampVis(PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean): HVIS;

kann dann beim vergleich wenn der Type(Kind) Winamp ist
Delphi-Quellcode:
BASSVIS_ExecuteVis(Kind: BASSVIS_KIND_T; PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean):HVIS; stdcall;
begin
  case Kind of
    BASSVISKIND_WINAMP:
      Result := ExecuteWinampVis(PluginName, moduleNum, ownHdc, ownHdcW2)
    BASSVISKIND_SONIQUE:
      Result := CreateVis(...
    BASSVISKIND_WMP.
      Result := ExecuteWMPVis(...
  else
    Result := 0;
  end;
end;
in die umbenannte/alte function springen
Anders gehts glaube ich nicht.

gruss Emil
  Mit Zitat antworten Zitat
Ghostwalker

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

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 16:58
Zitat von EWeiss:
Habe da noch ein verständnis problem

Du schreibst
procedure BASSVIS_Execute(Para:TExecutePara); Verstehe ich nun nicht so recht
Denn genau diese Funktion sollte exportiert und der ganze andere Kram gelöscht werden.
Löschen mußt du garnichts und exportieren nur dann wenn du das direkt in die DLL einbauen willst.

Zitat von EWeiss:
Das soll dann gelöscht werden
Delphi-Quellcode:
function BASS_WINAMPVIS_ExecuteVis(PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean): HVIS; stdcall; external TheDll;
function BASS_SONIQUEVIS_CreateVis(f, visconfig:PChar; flags, w, h: DWORD):HVIS; stdcall; external TheDll;
function BASS_WMPVIS_ExecuteVis(PlgListIndex: Integer; PresetIndex: Integer; VisWinhandle: DWORD; Left, Top, width, heigth: Integer): HVIS; stdcall; external TheDll;
Nein. Die brauchst du ja, da sie aus der DLL kommen.

Zitat von EWeiss:
Also eine Funktion für drei.

Aber alle Funktionen der verschiedenen Typen mit obiger procedure ausführbar sein.
Nicht ganz. Ich kapsle drei Funktionen über einen Funktionsaufruf. Damit braucht sich
der Anwender keinen Kopf machen, welche Funktion er denn für ein Plugin er nun aufrufen muß,
da es immer die gleiche ist

Zitat von EWeiss:
Ich müßte sie dann so umschreiben wie diese
BASSVIS_ExecuteVis(Kind: BASSVIS_KIND_T; PluginName: PChar; moduleNum: integer; ownHdc: boolean; ownHdcW2: boolean):HVIS; stdcall;
Nein, brauchst du nicht. Der Parameter KIND wird ja beim INIT-Aufruf bereits angegeben (und intern gespeichert). Analog dazu HVIS, da immer nur ein Plugin aktiv sein kann. Die restlichen Parameter
stecken im Record. Die globalisierte Funktion geht jetzt her, und ruft die internen Funktionen (die aus der DLL) mit den entsprechenden Parametern aus dem Record und ggf. den intern gespeicherten Informationen auf.

Man könnte auch sagen, das du eine gemeinsame Zugriffsschicht über deine DLL-Funktionen legst.

Btw. In welcher Sprache ist eigentlich die DLL geschrieben ?
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#35

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 17:10
Ich sage ja wir haben ein verständnis Problem
Zitat:
Löschen mußt du garnichts und exportieren nur dann wenn du das direkt in die DLL einbauen willst.
Das ist alles in der DLL
Ich befinde mich in der DLL und will diese Funktionen aus der DLL exportieren.

Nein. Die brauchst du ja, da sie aus der DLL kommen. Also ich bin in der DLL und brauche davon nix mehr da alle funktionen als eine einzige aus der DLL
exportiert werden sollen.

Die DLL ist in Delphi geschrieben.

gruss Emil
  Mit Zitat antworten Zitat
Ghostwalker

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

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 17:14
Ok...könntest du mir mal den DLL-Code zukommen lassen. Sonst kommen wir glaub ich auf keinen grünen Zweig (mein ICQ läuft )
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#37

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 17:24
Zitat von Ghostwalker:
Ok...könntest du mir mal den DLL-Code zukommen lassen. Sonst kommen wir glaub ich auf keinen grünen Zweig (mein ICQ läuft )
Muss erst zusammen suchen
Und du müßtest mir garantieren ihn in keiner weise zu veröffentlichen

Den rest können wir dann über ICQ besprechen.

gruss Emil
  Mit Zitat antworten Zitat
Ghostwalker

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

Re: Neustrukturierung einer DLL

  Alt 7. Jul 2007, 17:27
Veröffentlichen werde ich ihn (den Source) garantiert nicht. Dafür bin ich zu ehrlich
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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:36 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