if FCommand.MenuName[index] = 'Mein Tool' then
Nein, sorry, FMenuName ist ein
AnsiChar Array!
Zitat von
Incocnito:
Aber mir geht es eigendlich darum, dass das Array evtl. nicht initialisiert ist,
und dementsprechend er lustig über den Tellerrand laufen könnte ... glaube ich ... theoretisch ... unter Umständen ... Aber vielleicht ist das schon das ganze Problem.
Nein, das ist es nicht, ich habe diese Felder mittels FillChar(FMenuName, Sizeof(FMenuName),$00) mit Nullbytes initialisiert.
Eher ist es was in dieser Richtung:
Delphi-Quellcode:
//von der Embarcadero Webseite (Doku zu Strings):
function ShortStringToString(Value: array of Byte): String;
var
B: TBytes;
L: Byte;
begin
Result := '';
L := Value[0];
SetLength(B, L);
Move(Value[1], B[0], L);
Result := TEncoding.Ansi.GetString(B);
end;
Ich habe das TEncoding.Ansi.GetString() nicht drin.
Mein Array FMenuName ist AnsiChar. Von da will ich auf ShortString zuweisen.