Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TBassDllPlayer + Visualisierung (Komponenten)

  Alt 30. Aug 2005, 14:40
Zitat von Gandalfus:
Ich habe folgendes mit Delphi 7 comiliert uns es funktionierte.
[...code...]
Kompilieren tuts bei mir auch (D7), wenn ich aber dies versuche in der Demo als Visual zu laden, so kommt die Meldung dass die Dateiversion nicht unterstützt würde. Ich nehme einfach an, dass getVersion() einen anderen Wert zurückgeben müsste - den ich nicht kenne.

Zitat von Gandalfus:
Hmm. Eigednlich wäre es ja am besten wenn man von der dll aus einstellen könnte welche Daten man haben will.
Das wäre natürlich der Knaller.

Zitat von Gandalfus:
Mann kann die grösse von der Visualiesierungs Komponenet ja im Programm verändern. wenn man die Grässe in der dll veändert würde sie unterumständen nichtmehr in das Design des Programms passe.
Der Sourcecode für dei Demo ist doch dabei oder nicht?
Ja ist er, nur ich hab wohl die Stelle nicht gefunden an der der DLL der Canvas übergeben wird. Ich schau heut abend nochmal rein - war gestern schon was müde .

Zitat von Gandalfus:
Naja wenn man einene HIntergrundzecihenen will der zum Rest der Komponnete passt braucht man die Farben von dem Rest der Komponnete.
Dafür ist das gedacht.
An sich keine schlechte Idee. Ließe sich das evtl. nicht auch über eine gesonderte Funktion lösen, die die DLL aus dem Host aufruft? (Geht das überhaupt?) Mir ging es nur darum, dass die Parameter ja für jeden Frame neu übergeben werden, und somit in den meisten Fällen überflüssig sind.
Sinnvoll wäre hier evtl. eine Init-Funktion in der DLL vorzuschreiben, der die Randdaten bei Änderung übergeben werden, so dass sie nicht jedes Frame, sondern nur bei Bedarf übergeben werden müssen. Gleiches gilt für die Größe, bei den Wave/FFT-Daten allerdings ist es idR erforderlich dass sie stets aktuell sind. Die würde ich bei der Draw-Routine belassen.

Zitat von Gandalfus:
CanvasHandle ist ein der Handel des TCanvas von einem TgraphicControll. Ich könnte auch einen Canvas oder eine TGraphicControll übergeben, wenn das besser passt.
Nönö, ein HDC ist schon gut! Die Aussage war nur darauf bezogen dass ich wie o.g. nicht die Stelle im Source gefunden hatte, an der der DLL eben dieser übergeben wird .

Zitat von Gandalfus:
Vieleicht könntets du eine kleine liste der änderungen machen die brauchst.
"Brauchen" ist zu viel gesagt. "Wünschen" wäre besser . Eigentlich wäre zunächst wie oben angesprochen eine separate Funktion zur Übergabe der Farb- und Größenwerte sinnvoll, und eine Lösung für das Versionsproblem. Ansonsten dürfte alles gut und klar sein.
Sahnehäubchen wäre wie angesprochen eine Möglichkeit, mit der die DLL die FFT-/Wavedaten in gewünschter Länge und Art anfordern könnte. Aber es würde schon ausreichen jeweils eine 1024 oder 2048 Werte lange Version zu übergeben. Ist ja eh nur nen Pointer, und wenn man nachher weniger braucht, kann das in der DLL ja immernoch leicht bewerkstelligt werden.

Zitat von Gandalfus:
Du meinst, dass die höhe und Breite noch in den record mit rein kommt?
Ursprünglich ja, aber ich glaube dass das mehr Nach- als Vorteile bringt. Ignoriere diesen Teil einfach


Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat