AGB  ·  Datenschutz  ·  Impressum  







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

Komponente umstellen

Ein Thema von EWeiss · begonnen am 22. Jan 2016 · letzter Beitrag vom 27. Jan 2016
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
EWeiss
(Gast)

n/a Beiträge
 
#31

AW: Komponente umstellen

  Alt 24. Jan 2016, 20:19
Zitat:
Ich glaube ohne mehr Quelltext lässt sich da nicht viel mehr helfen, da so nicht nachvollziehbar ist wo deine Probleme auftreten. Möglich ist das jedenfalls sicher...
Habe das Archiv nochmal hochgeladen wenn du mal reinschauen willst.
AudioVolume2 mit AppVolume im Inspektor ändern True/False
Dann Form schließen/öffnen und dann wundern das es nicht läuft.

Zur Laufzeit geht es weil ich den Wert Quelltextmäßig ändere (Das soll nachher deaktiviert werden wenn das umschalten funktioniert.)

AudioVolume2.AppVolume := True;

Einen letzten Versuch ist es wert.

gruss

Geändert von EWeiss (24. Jan 2016 um 20:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#32

AW: Komponente umstellen

  Alt 24. Jan 2016, 21:28
Im SetAppVolume werden diverse Komponenten erstellt, aber keine freigegeben. Wenn ich also mehrfach umschalte, wird immer mehr Speicher verbraucht.

Was ich an dem Konzept gar nicht verstehe:
Es werden doch die selben Komponenten verwendet, egal ob AppVolume True oder False ist soweit ich das sehe. Warum werden da verschiedene erstellt statt einfach immer die gleichen zu benutzen?
So hast du eine pbMasterMeter und eine pbAppMeter usw., alles doppelt.

Da die gleichzeitig nie verwendet werden, macht das doch keinen Sinn...

Wenn du nur ein Set an Komponenten hast und dieses nur je nach Einstellung so oder so nutzt, wird es auch funktionieren...
Die Anzeige kannst du dann in Loaded aktualisieren, aber die Komponenten sind dann immer da.

Fehler bekommst du, wenn du erst in Loaded die Komponenten initialisierst, weil auch Left usw. bereits vorher gesetzt werden und du in WMSize usw. die Komponenten schon nutzt. Debuggen kannst du das sehr einfach indem du die IDE als Hostanwendung des Packages einträgst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#33

AW: Komponente umstellen

  Alt 24. Jan 2016, 21:33
Zitat:
So hast du eine pbMasterMeter und eine pbAppMeter usw., alles doppelt.
Nein da wird nichts doppelt verwendet.
Das MasterVolume ist nicht gleich AnwendungsVolume.

Siehe!
Delphi-Quellcode:
     WM_EndpointVolume:
      begin
        PVolMuteRec := PVolMute(Msg.WPARAM);
        if Assigned(tbMasterVolume) then
        begin
          tbMasterVolume.Position := round((1.0 - PVolMuteRec^.Volume) * tbMasterVolume.Max); // **** Added
          cbMasterMute.Checked := PVolMuteRec^.Muted; // **** Added
        end;
      end;
    WM_VolumeEvent:
      begin
        PVolMuteRec := PVolMute(Msg.WPARAM);

        if Assigned(tbAppVolume) then
        begin
          tbAppVolume.Position := round((1.0 - PVolMuteRec^.Volume) * tbAppVolume.Max);
          // **** Added
          cbAppMute.Checked := PVolMuteRec^.Muted; // **** Added
        end;

        if (MyVolSet and (abs(PVolMuteRec^.Volume - MyVolVal) < 0.0001)) then
          MyVolSet := false
        else if (MyMuteSet and (PVolMuteRec^.Muted = MyMuteVal)) then
          MyMuteSet := false;
      end;
Für die anderen Device sind sie gleich ....
Aber Device ist nicht gleich AppVolumen.
Dafür benötige ich 2 Unterschiedliche Slider.

Zitat:
AppVolume True oder False
Nein..
AppVolume wird in SetAppVolume zugewiesen
MasterVolume(Device) in SetComponents

Hingegen tbMasterVolume ist für alle Device gleich.
Zitat:
Da die gleichzeitig nie verwendet werden, macht das doch keinen Sinn...
Klar werden die gleichzeitig verwendet.
Aber Wahlweise.

Zitat:
Debuggen kannst du das sehr einfach indem du die IDE als Hostanwendung des Packages einträgst.
Ok! Danke für die Info. (zweite Instance starten.. ja)

Zitat:
Im SetAppVolume werden diverse Komponenten erstellt, aber keine freigegeben.
Jo muss da noch einiges machen. Hatte mich im Moment zu sehr auf die beiden Probleme fixiert.

PS:
Hab das jetzt gefixt mit der AppVolume.
Das umschalten geht jetzt und die Ressourcen werden freigegeben.
Mit der Liste muss ich noch überlegen ob das sinn macht und wie groß der Aufwand dafür ist.

gruss

Geändert von EWeiss (25. Jan 2016 um 02:17 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#34

AW: Komponente umstellen

  Alt 26. Jan 2016, 13:22
Find nix vernünftiges über RegisterComponentEditor
Hab ich schon gelesen https://wiki.delphigl.com/index.php/...enten-Editoren

Benötige ich eine Kombination von TPropertyEditor und TComponentEditor um Propertys addieren zu können?

gruss

Geändert von EWeiss (26. Jan 2016 um 13:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#35

AW: Komponente umstellen

  Alt 26. Jan 2016, 13:44
Jetzt wollte ich antworten und da ist die Frage weg...

Konkretisiere mal, wo es jetzt klemmt.
Dein Propertyeditor funktioniert jetzt und jetzt brauchst Du einen Komponenteneditor?

[Edit] ... Frage steht ja da...

ProptertyEditor und Komponenteneditor hat miteinander nicht direkt etwas zu tun.

Angenommen, Du hast eine published Property MyPath. Der kannst Du im Objektinspektor einen Text "C:\Test" zuweisen.
Wenn Du dem Programmierer die Textsuche erleichtern willst kannst Du einen Propertyeditor bauen.
Über die ... kann er den öffnen und darüber einen Pfad auswählen.
In MyPath steht dann exakt das Gleiche drin wie vorher. Der Propertyeditor erleichtert nur die Zuweisung.

Ein Komponenteneditor geht darüber hinaus und ermöglicht es, mehrere Propertys einer Komponente komplett einzurichten.
Das Handling ist allerdings umfangreicher.


M.E. ist das für Dich der richtige Weg.
Ich weiß nicht, warum Du eine Liste in Deinen Komponenten speichern willst.
Eigentlich brauchst Du doch nur einen passenden Wert!?

Was ist jetzt eigentlich Deine Komponente? So eine Groupbox mit den 5 Controls oder etwas übergeordnetes, das diese Groupboxen erzeugt?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (26. Jan 2016 um 14:00 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

AW: Komponente umstellen

  Alt 26. Jan 2016, 13:48
Jetzt wollte ich antworten und da ist die Frage weg...

Konkretisiere mal, wo es jetzt klemmt.
Dein Propertyeditor funktioniert jetzt und jetzt brauchst Du einen Komponenteneditor?
Ich möchte eine Liste von vorhandenen Device zu meiner Komponente im OI addieren.
jaenicke meint das geht nur über den Komponenteneditor.
Das Beispiel das ich gelöscht habe funktioniert nicht.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#37

AW: Komponente umstellen

  Alt 26. Jan 2016, 13:53
Zitat:
Angenommen, Du hast eine published Property MyPath. Der kannst Du im Objektinspektor einen Text "C:\Test" zuweisen.
Wenn Du dem Programmierer die Textsuche erleichtern willst
Ja aber keine Stringliste
Und das ist mein Problem.

Wenn unter published steht
  property AudioDevice: TStrings read GetAudioDevice write SetAudioDevice;

Dann steht das AudioDevice im OI als TStrings ich möchte aber eine Liste.
Das soll mit der Class TComponentEditor lösbar sein nur wie ?

gruss

Geändert von EWeiss (26. Jan 2016 um 13:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#38

AW: Komponente umstellen

  Alt 26. Jan 2016, 14:05
Da wir uns miteinander verheddert hatten, hier nochmal die letzte Frage...

Ich weiß nicht, warum Du eine Liste in Deinen Komponenten speichern willst.
Eigentlich brauchst Du doch nur einen passenden Wert!?

Was ist jetzt eigentlich Deine Komponente? So eine Groupbox mit den 5 Controls oder etwas übergeordnetes, das diese Groupboxen erzeugt?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#39

AW: Komponente umstellen

  Alt 26. Jan 2016, 14:10
Zitat:
Was ist jetzt eigentlich Deine Komponente? So eine Groupbox mit den 5 Controls oder etwas übergeordnetes, das diese Groupboxen erzeugt?
Du kannst es dir ja ansehen wurde aktualisiert.
http://www.delphipraxis.net/162206-t...omponente.html

Aber vielleicht sollte ich deinen Rat beherzigen
Zitat:
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?"
gruss
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#40

AW: Komponente umstellen

  Alt 26. Jan 2016, 16:41
Für dich sollte RegisterPropertyEditor reichen, ich hatte das falsche hingeschrieben.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 22:12 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