Zitat von
kingflo:
Das funktioniert alles soweit,mit Save und LoadForm aber leider nicht bei MainMenüs...
Weißt du warum?
Bei PopUp Menüs gehts super, aber die Eintrage aus einem Hauptmenü können nicht mit SaveForm gespeichert werden, wenn ich aber manuell den namen des eintrages in die
xml liste schreibe, dann kann der Text auch mit LoadForm geladen werden.
weißt du eventuell woran das liegt? Bzw wie ich es am bessten Hinbekommen kann das MainMenü in die
xml datei zu bekommen?
Hier habe ich einen Fehler in der WP-Tools Bibliothek gefunden. Wenn du die Quelltexte hast, dann kannst du in WPLngCtr.pas in Zeile 655-656 die Kommentarzeichen entfernen (ungetestet) und dann das
Package aktualisieren. Bitte teile mir mit ob's dann funktioniert.
Delphi-Quellcode:
procedure SaveMenuItems(Menu: TMenuItem);
var
mEntry: TWPXMLOneLevel;
begin
mEntry := XMLEntry.AddTagValue(Menu.Name, '');
mEntry.ParamValue[CAPTION_PARAM] := Menu.Caption;
mEntry.ParamValue[HINT_PARAM] := Menu.Hint;
for m := 0 to Menu.Count - 1 do
SaveMenuItems(Menu.Items[m]);
end;
Zitat von
kingflo:
Sag mal oder weißt du vielleicht, wie ich einen String einzelnt in diesem Format
<Button1 C="Bearbeiten" />
hinzufügen kann? denn dann könnte ich unter anderem die Menu Namen einzeln hinzufügen, aber mit SaveString geht es leider nicht.
und wenn man den TWPXMLPropertyEditor benutzt kann man es über Branch -> Create Item with PARAMs und dann z.B folgendes eingeben:
Button1#C=test
Aber weißt du wie ich das in meinem Code machen kann?
Ich möchte also zu der geöffneten
xml datei in WPLanguageControl1 einen String so wie oben beschrieben hinzufügen...
Ich habe schon alles mögliche versucht aber das bekomme ich irgendwie nicht hin.
Dafür könntest du das "BeforeSave"- oder "AfterSave"-Ereignis nutzen, dass den betreffenden TWPXMLOneLevel übergeben bekommt:
Delphi-Quellcode:
procedure TForm1.WPLanguageControl1.AfterSave(Sender: TWPLanguageControl; Form: TWinControl; XMLEntry: TWPXMLOneLevel);
var
Entry: TWPXMLOneLevel;
begin
Entry := XMLEntry.AddTagValue('Button1', '');
Entry.ParamValue[CAPTION_PARAM] := 'Bearbeiten';
end;