Показать сообщение отдельно
  #1  
Старый 12.02.2013, 13:20
Chydik Chydik вне форума
Прохожий
 
Регистрация: 19.05.2009
Сообщения: 7
Репутация: 10
По умолчанию При получении TMenuItem(Sender).Caption непонятные символы

Динамически создаю список элементов попап меню и задаю свои заголовки, при это все нормально и отображаются корректно, но при попытке обращения к ним по клику (TMenuItem(Sender).Caption ) получается какой-то бред (типа: дD) . Может кто сталкивался? А нето вообще без идей уже

Так создаю:
Код:
while i <= tempst.Count - 1 do
        Begin
          if  Pos('7z.exe',UnPackRun) <> 0 then
            Begin
            if (Pos('Path',tempst[i]) = 0) OR (Pos(lstRomsList.Items.Strings[lstRomsList.ItemIndex],tempst[i]) <> 0) then
              tempst.Delete(i) else
                Begin
                  pmitem         := TMenuItem.Create(pmArchives);
                  tempst[i]      := StringReplace(tempst[i],'Path','',[rfReplaceAll,rfIgnoreCase]);
                  tempst[i]      := StringReplace(tempst[i],'=','',[rfReplaceAll,rfIgnoreCase]);
                  tempst[i]      := Alltrim(tempst[i]);
                  OemToAnsi(PChar(tempst[i]),PChar(tempst[i]));
                  pmitem.Action  := actPMArchive;
                  pmitem.Caption := tempst[i];
                  pmArchives.Items.Add(pmitem);
                  inc(i);
                end;
            end else
              Begin
                  pmitem         := TMenuItem.Create(pmArchives);
                  tempst[i]      := Alltrim(tempst[i]);
                  pmitem.Action  := actPMArchive;
                  pmitem.Caption := tempst[i];
                  pmArchives.Items.Add(pmitem);
                  inc(i);
              end;
        end;

и сам обработчик он клик:
Код:
procedure TForm1.actPMArchiveExecute(Sender: TObject);
var run, Capt:    String;
    EPath, RPath: String;
begin
    Capt      := TMenuItem(Sender).Caption;
    edt1.Text := TMenuItem(Sender).Caption;
...
Ответить с цитированием