Moin Timm,
als erstes:
Bitte künftig unbedingt beachten:
Zwei Fragen => Zwei Threads.
Das verhindert ein Durcheinander im Thread, und erleichtert anderen die Suche.
Nun zu Deinem ComboBox-Problem.
Das liesse sich recht einfach lösen.
Du kannst einfach die Indizes beider ausgewählten Einträge in einen Wert zusammenrechnen, und dann, mit Hilfe einer Case Anweisung ermitteln, welche Funktion ausgeführt wird.
Beispiel:
Delphi-Quellcode:
const
_Function1 = $0000;
_Function2 = $0100;
//...
var
wFunction : WORD;
begin
// Kein Eintrag gewählt, nichts zu tun
if ComboBox1.ItemIndex = -1 then exit;
if ComboBox2.ItemIndex = -1 then exit;
// Durch shl 8, wird der Index in das höherwertige Byte verschoben
wFunction := (ComboBox1.ItemIndex shl 8) or (ComboBox2.ItemIndex);
case wFunction of
_Function1 : begin
// 1. Funktion ausführen
end;
_Function2 : begin
// 2. Funktion ausführen
end;
// ...
end;
end;
Das Beispiel geht von maximal 255 Einträgen je ComboBox aus.
Falls der Index nicht sicher auf einen bestimmten ComboBox Eintrag schliessen lässte, kann man die Items auch mit AddObject hinzufügen, und als "Objekt" den entsprechenden Wert speichern.