Da muss ich ja noch eine ganzen Rattenschwanz von anderen Komponenten installieren. Und wie sieht es mit der Lizenz aus? Ich brauche das für ein kommerzielles Projekt. Und mein Chef ist auch nicht begeistert, wenn man tausend Fremdkomponenten einsetzt. Er hat gerade wieder einen halben Tag gebraucht, um ein altes Projekt wegen der vielen Fremdkomponeten zum Laufen zu bringen.
Ich habe es jetzt so gemacht, dass ich die ShellComboBox zur Laufzeit erstelle:
Delphi-Quellcode:
type
TShellcomboBoxEx = class(TShellComboBox)
public
procedure Change; override;
end;
// [..]
procedure TfrmLoadTemplate.FormCreate(Sender: TObject);
begin
ShellComboBox1 := TShellComboBoxEx.Create(Self);
with ShellComboBox1 do
begin
Name := 'ShellComboBox1';
Parent := Self;
Left := 74;
Top := 3;
Width := 343;
Height := 22;
Root := 'rfMyComputer';
ShellListView := ShellListView1;
UseShellImages := True;
TabOrder := 0;
end;
end;
Leider bekomme ich eine AccessViolation in Zeile 20, wenn der Root-Folder zugewiesen werden soll. Ich schätze mal, da fehlt irgendeine Initialisierung. Nur welche?