Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#23

AW: Komponente umstellen

  Alt 24. Jan 2016, 14:26
Zitat:
Aufzählungstypen
Kann ich nicht weil diese nicht festgelegt werden können.
Sind vom System zu System unterschiedlich.

Ich möchte eine Liste im Objektinspektor wo ich das jeweilige Device auswählen und der Komponente zuweisen kann.
Aktuell steht dort TStrings logisch weil die Rückgabe nun mal TStings ist.
Also was zurückgeben damit die Einträge addiert werden.

Delphi-Quellcode:
function TAudioVolume.GetAudioDevice: TStrings;
var
  N: integer;
  FDeviceList: array of TDeviceInfo;
  Items: TStringList;

begin
  Items := TStringList.Create;
  FAudioDevice := TStringList.Create;
  if FDeviceCount > 0 then
  begin
    SetLength(FDeviceList, FDeviceCount);
    for N := 0 to (FDeviceCount - 1) do
    begin
      FDeviceList[N] := GetDeviceInfo2(DeviceCollection, N);
      ExtractStrings(['('], [], pWideChar(FDeviceList[N].DeviceName), Items);

      FAudioDevice.Add(Items[0]);
      Items.Clear;
    end;
    Items.Free;
  end;

  Result := FAudioDevice;

end;
Zitat:
An die Nummer für AudioVolume2.SelectAudioDevice(1) müsstest Du dann in der Art kommen:AudioVolume2.SelectAudioDevice(Ord(FAudioDe vices)) Ord beginnt bei 0 zu zählen, eventuell müsste es dann AudioVolume2.SelectAudioDevice(Ord(FAudioDevices) + 1) heißen.
Ok das ist die Auswertung nachdem ein Eintrag aus dem Inspektor gewählt wurde.
Nur diese muss ich dort erst mal addieren

arghhh VCL
Komme langsam zum schluss das der Objekt Inspektor in Delphi Müll ist. Kann das sein?
Bool werte werden zu spät ausgewertet, Listen kann man nicht addieren usw..
Selbst mit dem alten VB6 ist so was alles möglich. Kopfschütteln.


gruss

Geändert von EWeiss (24. Jan 2016 um 15:59 Uhr)
  Mit Zitat antworten Zitat