• Dy1 (03.12.09 23:07) [0]
    Вопрос такой: как правильно создавать радиогруппу?
    Текст пунктов искажается - добавляются теряются символы, может быть во всём подменю имя последнего скина (имя директории без префиксов)

    procedure MasAdd(text: KOLstring; Event: TOnMenuItem = nil);
    var i: integer; // добавление пунктов и обработчиков
    begin
     i := Length(mc);
     SetLength(mc, i + 1);
     mc[i] := PKOLChar(text);

     if (text <> '(') AND (text <> ')') Then
     begin
       i := Length(me);
       SetLength(me, i + 1);
       me[i] := Event;
     end;
    end;

    procedure TForm1.KOLForm1FormCreate(Sender: PObj);
    ...
     MasAdd('Скин');
     MasAdd('(');

     dir := NewDirList(GetStartDir + 'Skins\', '*', FILE_ATTRIBUTE_DIRECTORY);
     try
       For w := 0 to dir.Count - 1 do
         if Length(dir.Names[w]) <= 30 Then
           MasAdd('-!' + dir.Names[w], LdSkin);
     finally
       dir.Free;
     end;

     MasAdd(')');
     MasAdd('-Snap', nil);
     MasAdd('-');
     MasAdd('Выход', OnExit);
     MasAdd('');

  • Dy1 (04.12.09 21:16) [1]
    в массив записывается правильно, искажается где-то в меню...
  • Dy1 (04.12.09 21:34) [2]
    почему эти глюки зависят от длины текста? Почему вообще глючит??
  • Dy1 (04.12.09 22:05) [3]
    если писать массив ['1','2','3'], то всё работает. Если заносить строки в отдельный массив и потом присваивать - разные глюки.
  • Dy1 (04.12.09 22:29) [4]
    чем в Делфи 7 строка в апострофах отличается от массива ansichar при том, что функция именно с ансичаром и работает
  • Дмитрий К © (04.12.09 22:42) [5]
    Строки где-то хранить нужно, мало занести в массив указатели на них.
  • имя (17.12.09 15:22) [6]
    Удалено модератором
  • имя (17.12.09 15:24) [7]
    Удалено модератором
  • Barloggg (21.12.09 12:00) [8]
    дада, точно.
    создай массив строк, но держи его. то есть массив строк должен быть глобальным, хотя бы в рамках объекта.
Есть новые Нет новых   [134431   +12][b:0][p:0.001]