Warum aber funktioniert dann die Abfrage
Delphi-Quellcode:
if FCommand.MenuName = 'Mein Tool'
******then FCommand.OptionsDialog := TCommandOptOptDlg.Create(self)
nicht?
Zitat von
blawen:
Delphi-Quellcode:
Dies müsste vom Prinzip m.E. eigentlich funktionieren, zumindest solange der der zugewiesene String nicht zu lange ist.
FCommand.ProgName := FIniFile.ReadString('Command','Exename',''); //Das funktioniert nicht so einfach, aber wie dann?
Tut es aber leider nicht. Der String enthält bei Progname nur den Namen der .exe Datei, der ist auf keinen Fall zu lang, bei den üblichen .exe Dateinamen. Der Menuname hat maximal 31 Zeichen, weil längere Strings da sinnlos sind.
Ist eventuell das hier die Ursache:
FMenuname ist immerhin ein AnsiString Array.
Delphi-Quellcode:
procedure TRegisteredCommand.SetMenuName(const Value: ShortString);
var i: Integer; s: ShortString;
begin
for i := 1 to Length(Value) do FMenuName[i-1] := Value[i];
end;
function TRegisteredCommand.GetMenuName: ShortString;
var i: Integer; s: ShortString;
begin
s := '';
i := 0;
while (FMenuName[i] >= ' ') do
begin
s := s + FMenuName[i];
inc(i);
end;
Result := s;
end;
[
OT]
Sorry für den Doppelaccount, bin schöni, kann mich aber schon lange nicht mehr als Schöni einloggen. Wollte das gestern ändern und zukünftig wieder als schöni hier aktiv sein statt DualCoreCpu, dabei gibt mir die
DP auf "Kennwort vergessen" aber den Usernamen cpux86. Da kann ich auch bei DualCoreCpu bleiben oder eben dem jetzigen Usernamen.
[/
OT]