Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не ставятся никакие пакеты [Delphi, Windows]


Страницы:   1 2 3 4 5 6

Dy1 ©   (2007-02-19 20:58:00) 

Ошибка при попытке установки "Unit SysInit was compiled with..."
МСК 2.37 с заменой системных модулей. Возврат к стандартным добавляет 8 ошибок.


=BuckLr=   (2007-06-13 23:14:00) [61]


> С выходом 95 MS рекомендовал переходить на list view.

Уже лет 12 прошло, и всё никак не перейдут :) МС вааще много чего советует, если ко всему прислушиваться... Но я согласен с тем, что листвью лучше - с ним просто легче работать, а возможностей хоть отбавляй. И никаких ограничений на строчки. Самое то, что тебе нужно (2 domo)


Vladimir Kladov   (2007-06-13 20:49:00) [62]

list box - это для совместимости, с времен Win3.1. С выходом 95 MS рекомендовал переходить на list view.


domo   (2007-06-13 15:00:00) [63]

Сильно мне не хочется, просто надо же где-то строки прокручивать. Думал, что в  listbox лучше всего. Что ж, попробую теперь по другому, может выйдет. А что с гор. лифтом?


Vladimir Kladov   (2007-06-12 17:57:00) [64]

Список list box больше чем 100 элементов - это несуразица. И если уж так сильно хочется, есть виртуальный list box. Еще лучше использовать виртуальный list view, для него уже даже событие готово (OnLVData).


ANTPro   (2007-06-12 14:53:00) [65]

> [51] domo   (12.06.07 14:03)

Applet.ProcessMessages


domo   (2007-06-12 14:03:00) [66]

Так я вроде же пробовал вызывать
BeginUpdate;
при вызове
ListBox1.Add(sList.Items[i]);
- скорость осталась низкой (т.е. прежней). Может что не так делаю? Объясните, как правильно (когда) вызывать этот метод? И даже если я ничего не вызываю, ListBox1 (и вся прога) перестает реагировать на что-либо до окончания добавления всех строк в ListBox1 (около 20 сек).


SergeR   (2007-06-11 17:56:00) [67]

RTFM.
KOL.pas:

procedure BeginUpdate;
{*   |<#treeview>
      |<#listview>
      |<#richedit>
      |<#memo>
      |<#listbox>
      Call this method to stop visual updates of the control until correspondent
      EndUpdate called (pairs BeginUpdate - EndUpdate can be nested). }


domo   (2007-06-11 17:07:00) [68]

Да, loHScroll и правда не работает. А что про BeginUpdate и EndUpdate, я что-то не понял, объясни, пожалуйста.


=BuckLr=   (2007-06-07 17:05:00) [69]


> очень медленно работает

Ах, да. У контролов есть BeginUpdate и EndUpdate.


=BuckLr=   (2007-06-07 17:01:00) [70]


>  проблемы с приведением типов есть не только у меня

У меня проблем нет. Если речь про PChar вместо Char, то думать надо головой, что такое один символ и что такое целая цепочка.


> Но я оказался прав - очень медленно работает

Кажется это действительно лажа. Как ускорить до уровня мемо, я думаю,  посмотреть, как само мемо это делает (в самом loadfromfile кажется)


> Свойства LB_SETHORIZONTALEXTENT и даже LB_SETHORIZONTAL
> найти не смог

И не найдёшь. Этоне из КОЛ. А вообще я торможу, в кол есть для этого loHScroll. Правда, у меня что-то не заработало. Раньше, помнится, всё было нормально. Владимир, не проверите ли эту опцию? И, кстати, я нашёл проблемку с генерацией в МСК - вместо loHScroll генерируется loHScrll. Приходилось каждый раз "о" добавлять :)


domo   (2007-06-07 16:34:00) [71]

1. Никто не ответил как устанавливать компоненты где нет *.dpk, а только файл KOLxxx.pas или KOLxxx.pas и MCKxxx.pas. Я попробовал создать новый пакет, добавить туда файлы KOLxxx.pas и MCKxxx.pas, откомпилировать этот пакет и затем установить его. Но не получилось - фатальных ошибок вроде и не заметил, а новых значков на панелях компонентов не появилось. Как правильно делать установку и как проверить, что установка успешна?

2. Попробовал, но компилятор сказал, что, видно, проблемы с приведением типов есть не только у меня. Работает лишь такой вариант, возможно так и надо:
  s:='Обработано строк: '+Int2Str(ListBox1.Count);
  Form1.Form.StatusText[1]:=PChar(s);

Цикл сделал, даже два (какой из них правильный?):
      for i:=0 to sList.Count-1 do ListBox1.Add(sList.Items[i]);
      for i:=0 to sList.Count-1 do ListBox1.Items[i]:=sList.Items[i];
Но я оказался прав - очень медленно работает - около 20 сек (а в Memo1 - за 2 сек). Можно ли ускорить этот процесс, хотя бы в 4-5 раз? Специалисты, подскажите.

С обработкой нажатий кнопок (а не панели) я не разобрался, но заметил, что подсказки при наведении мыши на другие 16 кнопок те же, что и при наведении на первую. Проверил свойство панели tooltips - там 17 строк подсказок, ShowTooltips установлено в true, а подсказок нет (есть, но тe же, что для первой кнопки). Посоветуйте, как исправить.

Свойства LB_SETHORIZONTALEXTENT и даже LB_SETHORIZONTAL найти не смог. Обыскал все файлы *.pas в ветке КОЛ и не нашел. Как добавить гор. лифт в ListBox?


=BuckLr=   (2007-06-05 17:21:00) [72]

Полоса прокрутки - что-то вроде LB_SETHORIZONTALEXTENT, поищи. А насчёт скорости перебора, так это вроде не проблема. Хотя я тоже не спец, не уверен, что это так...


domo   (2007-06-05 14:51:00) [73]

2. За советы спасибо, буду разбираться. И какие там обиды, просто я считаю, что ошибки и неточности лучше исправлять, а если просят помощи - лучше помогать. Ну, а кто-то считает наоборот, пусть...
С приведением типов и правда проблемы. Цикл я попробую организовать, но будет ли это быстро - там файл из ~150 тыс строк... Обрабатываю щелчок на самом тулбаре я потому, что так мне вроде проще (хотя может это не так). И как в ListBox1 включить гориз.лифт?


=BuckLr=   (2007-06-04 20:02:00) [74]

Мы ржём, потому что ржачно и фигеем потому что офигительно :)

Ты не обижайся, но тебе и правда под всл надо ещё поработать. Вот, к примеру, нафига тут
Form1.Form.StatusText[2]:=^s;
когда надо
Form1.Form.StatusText[2]:=Char(s);
И не будет работать, коль с приведением типов проблемы...

А так:
ListBox1.Text:= SList.Text;
строки в листбокс не добавляются. Смотри описание метода
{* |<#edit>
      |<#memo>
      The same as Caption. To make more convenient with Edit controls. For
      Rich Edit control, use property RE_Text. }
значит, метод только для полей редактирования, а не для листбокс, комбобокс и иже с ними, это списковые объекты. Добавлять надо методом Add. Тебе надо организовать цикл, в котором будешь добавлять строки по очереди.

Вот ещё. Зачем обрабатывать щелчок на самом тулбаре, если проще обрабатывать щелчок на кнопке, которая на тулбаре?


domo   (2007-06-04 15:59:00) [75]

1. Попробовал и дожен сказать =BuckLr=  еще раз спасибо - твой совет точно в десятку:
после применения этого совета компонент установился. Может это и еще кому-то поможет.
Но кто оставил такой "камень преткновения" и почему ошибку не исправили? Хотя если судить по стилю некоторых,
то и неудивительно: горстка желания исправлять неточности, ошибки и помогать тем кто просит помощи
и гора желания "ржать" и "просто фигеть".

2. Здесь кто-то подскажет? У меня не получается. Текст из файла есть только в Memo1,
а в ListBox1 пусто. Кроме того нет гориз.лифта в ListBox1. А в Memo1 текст есть, но не
правится, хотя атрибута "только чтение" я не ставил. И в панель статуса StatusText[2] не
хочет ничего писать, почему? Конечно, для кого-то это очень просто, так я у них и спрашиваю -
вам просто, подскажите другим.
Делаю так:

type
   ListBox1: TKOLListBox;
   OpenSaveDialog1: TKOLOpenSaveDialog;
   Toolbar1: TKOLToolbar;
   Memo1: TKOLMemo;
var
 NicDicFile, ExtRus: KOLString;
implementation
procedure TForm1.ProgStartHere(Sender: PObj);{Старт обработки}
var
s: string;
begin
Form1.Form.StatusText[0]:='Строка статуса создана ';
end;

procedure TForm1.ToolbarClicked(Sender: PObj);
var
s: string;
sList: pStrList;
DicList: TStrList;
List: TAList;
begin//ToolbarClicked
if Toolbar1.RightClick then begin{3} beep (150, 100) end{3}
else begin{4}
 case Toolbar1.CurIndex of
  0: begin{c5}
   if OpenSaveDialog1.Execute then
    begin
     NicDicFile:=OpenSaveDialog1.Filename;
     sList:= NewStrList;
     if sList.LoadFromFile(NicDicFile) then begin{if1}
      Memo1.Text:= SList.Text;
      ListBox1.Text:= SList.Text;
     end{if1};
     SList.Free;
     s:=Int2Str(ListBox1.Count);
     Form1.Form.StatusText[2]:=^s;
    end else beep (150, 100);
    end{c5};
  1: beep (2000, 10);
  2: beep (3000, 10) ;
 16: Form.Close;
 end{case Toolbar1.CurIndex};
end{4};
end;//ToolbarClicked

4. А здесь что, других уроков кроме тех 13, что были на сайте по КОЛ пару лет назад, нет?


domo   (2007-06-01 17:44:00) [76]

Спасибо за советы, пойду пробовать


=BuckLr=   (2007-06-01 16:02:00) [77]


> какие-то Directories

Тока не в пакет! В делфи саму


=BuckLr=   (2007-06-01 15:55:00) [78]


> не устанавливается, останавливаясь на строке
> Result.SetOnLVData(Result.NewOnLVData);

А там на 83 строчке в procedure NewOnLVData надо KOLString заменить на KOL_String...


> Может еще что-то подскажете? Хотелось бы сегодня установить.
>  Делал так:


Не надо так :) Просто сделай как я написал

> А может надо было еще перед "Построить" какие-то Directories/Conditionals
> вручную прописать?

Конечно надо. Как по-твоему, Делфи сама будет искать твои компоненты? Она же не знает, где у тебя что

Ну такие вот мои ламерские советы...


domo   (2007-06-01 14:55:00) [79]

Я бы и рад, но само по себе, к сожалению, это не имеет смысла, т.к. я сейчас работаю именно в КОЛ (чистый КОЛ работает). Мне нужно установить несколько доп. компонентов. Не компоненты для чистого д5, а компоненты КОЛ под Д5. BAPFileBrowser и неск. других. Так что если можете - подскажите.


mdw   (2007-06-01 12:58:00) [80]


> Или все-таки сносить КОЛ?

Да именно снести KOL и для начала поработать просто на делфи.


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо