Компилятор теперь производит поиск модулей, ресурсов и OBJ файлов по пути, указываемому в каталогах OPTIONS|Project. Путь 'EXE and TPU directory' больше не поддерживается. EXE-файлы могут создаваться в 'Output directory', а файлы DCU всегда создаются в том каталоге, где находятся соответствующие файлы PAS. Новые модули
2. Как можно зааллокировать блоки памяти больше, чем 64 Кбайт?
Используйте
3. GPF в ToolHelp.DLL в Win-OS/2 2.1.
Поставьте FixPack, или сделайте Upgrade на OS/2 Warp 3 FullPack.
4. Как получить из Clipboard текст большого размера?
Да, стандартный метод
procedure GetLargeText: PChar
var
Buffer: PChar;
MyHandle: THandle;
TextLength : Integer;
begin
MyHandle := Clipboard.GetAsHandle(CF_TEXT);
Buffer := GlobalLock(MyHandle);
try
Result := nil;
if Buffer <> nil then
begin
TextLength := StrLen(Buffer);
GetMem(Result, TextLength+1);
StrCopy(Buffer, Result);
end;
finally
GlobalUnlock(MyHandle);
end;
end;
5. Проблемы Delphi с WinG.
Я слышал, что у Delphi проблемы с WinG, однако кто-то их решил?
Да, Майк Скотт (Mike Scott, [email protected]) даже написал коммерческий вариант VCL-компонентов, использующих WinG для Delphi:
Набор компонентов, осуществляющих доступ к WinG из Delphi. Включает компоненты
$99 EEP
Существует статья по использованию WinG в Borland Pascal — #5 Pascal Magazine. Обзор VCL WinG появится в новом Delphi Magazine. Отошлите письмо с вашим почтовым адресом на [email protected] для получения бесплатной копии этих журналов (наверняка из России это не сработает.
Компоненты и VCL
1. Каковы ограничения на стандартные компоненты Delphi?
Все компоненты, использующие
Многие из стандартных компонент Delphi являются надстройкой над стандартными управляющими элементами Windows. Windows 3.1 налагает свои собственные ограничения на эти компоненты. Hапример:
Ресурсы Windows 3.1 ограничивают компонент
2. Предел буфера редактирования в 32K для TMemo.
Почему в документации написано, что TMemo может редактировать тексты до 256К, а на деле получается не более 32К?
В документации ошибка. 32К — это ограничение Windows. В Windows все стандартные редакторы используют общий буфер в 32К, компонент
3. Почему компонент TGauge так медленно работает (медленнее, чем VBX BGauge)?
Компонент
FCurValue := Value;
Refresh;
Это означает, что как только положение изменилось, весь компонент будет перерисован. Тем не менее, есть пути для того, чтобы сделать компонент более быстрым:
1. Не присваивать
2. Проверять, действительно ли позиция на экране изменится. Например, в