Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Вниз

Версия 1.72   Найти похожие ветки 

 
Кладов   (2003-04-21 20:04) [0]

News from 21-Apr-2003

KOL and MCK news (v1.72):

[-]MCK: function NeedFree did not used to decide if to genearate
Add2AutoFree for created objects. Thanks to Boguslaw Brandys for a bug
report.

[-]KOL: asm version of TThread.Destroy fixed to close Handle in case
when AutoFree is set to true.

[-]KOL: RepeatInterval property fixed for bitbtn control (on a single
click, was clicked twice).

[+]KOL: if conditional symbol ALL_BUTTONS_RESPOND_TO_ENTER is defined
in project options, all buttons (and bitbuttons too) respond to ENTER
as well to SPACE key, and unlike to property AllBtnReturnClick this
does not affect Applet.OnMessage.

[-]KOL: OpenSaveDialog fixed for case of multiple files selection
followed by single file selection. Thanks to Vadim Petrov.

[-]KOL: Aligning of controls fixed for initially invisible forms.

[-]KOL: list view column image index -1 fixed.

Other news:

[+]EmuZWin 2.0 application added (the emulator of the old machine
Spectrum48/128 for Windows9x/ME/NT/2K/XP). See in Applications
section.


 
BaRToV   (2003-04-21 21:41) [1]

[Hint] Package "MirrorKOLPackage" does not use or export "kol.WndProcBtnReturnClick"


 
Кладов   (2003-04-22 20:57) [2]


> [Hint] Package "MirrorKOLPackage" does not use or export
> "kol.WndProcBtnReturnClick"

пославлю и там IFDEF. Просто тестировал последний раз с включенной у себя опцией ALL_BUTTONS_RESPOND_TO_ENTER.


 
Centronix   (2003-04-24 13:29) [3]

Не работает функция ForceDirectories (в рекурсивной цепочке последняя функция всегда возвращает False).
Надо что-то вроде этого:
function ForceDirectories(Dir: string): Boolean;
begin
Result := Length(Dir) > 0;
If not Result then Exit;
Dir := ExcludeTrailingPathDelimiter(Dir);
If (Length(Dir) < 3) or DirectoryExists(Dir) or
( ExtractFilePath(Dir) [3]
Не работает функция ForceDirectories (в рекурсивной цепочке последняя функция всегда возвращает False).
Надо что-то вроде этого:
function ForceDirectories(Dir: string): Boolean;
begin
Result := Length(Dir) > 0;
If not Result then Exit;
Dir := ExcludeTrailingPathDelimiter(Dir);
If (Length(Dir) < 3) or DirectoryExists(Dir) or
(ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
Result := ForceDirectories(ExtractFilePath(Dir)) and CreateDir(Dir);
end;


 
Centronix   (2003-04-25 18:30) [4]

И еще одно небольшое предложение: в кол определены сообщения WM_MOUSEHOVER и WM_MOUSELEAVE, однако они никак не используются (даже если назначен обработчик OnMouseEnter/OnMouseLeave). Нельзя ли сделать так, чтобы контрол начинал получать эти сообщения после обращения к какому-либо из вышеуказанных свойств ? Например для использования в приаттаченой процедуре (AttachProc()).


 
Кладов   (2003-04-25 20:12) [5]


> WM_MOUSEHOVER и WM_MOUSELEAVE, однако они никак не используются
> (даже если назначен обработчик OnMouseEnter/OnMouseLeave).
> Нельзя ли сделать так, чтобы контрол начинал получать эти
> сообщения после обращения к какому-либо из вышеуказанных
> свойств ?

Так он и получает эти сообщения. Просто назначьте свой пустой обработчик, если он вам как таковой не нужен, а перехватывайте в OnMessage. Разве не так?


 
Centronix   (2003-04-26 15:35) [6]

Хм... насчет OnMessage не пробовал, а в AttachProc они не приходят...


 
Юрий   (2003-04-28 18:43) [7]

Исправить следует ForceDirectories (не создаёт директории в случае их отсутствия) на следующий вариант:

function ForceDirectories(Dir: String): Boolean;
var S: String;
begin
if Length(Dir) = 0
then Result := False
else begin
Dir := ExcludeTrailingPathDelimiter(Dir);
S := ExtractFilePath(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir) or (S = Dir)
then Result := True
else Result := ForceDirectories(S) and CreateDir(Dir);
end;
end;

В KOL 1.72 так:
function ForceDirectories(Dir: String): Boolean;
begin
Result := FALSE;
// Copied from unit FileCtrl:
if Length(Dir) = 0 then Exit;
Dir := ExcludeTrailingPathDelimiter(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir)
or (ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
if not ForceDirectories(ExtractFilePath(Dir)) then Exit;
Result := CreateDir(Dir);
end;

А в VCL так:
function ForceDirectories(Dir: string): Boolean;
begin
Result := True;
if Length(Dir) = 0 then
raise Exception.CreateRes(@SCannotCreateDir);
Dir := ExcludeTrailingBackslash(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir)
( ExtractFilePath(Dir) [7] Исправить следует ForceDirectories (не создаёт директории в случае их отсутствия) на следующий вариант:

function ForceDirectories(Dir: String): Boolean;
var S: String;
begin
if Length(Dir) = 0
then Result := False
else begin
Dir := ExcludeTrailingPathDelimiter(Dir);
S := ExtractFilePath(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir) or (S = Dir)
then Result := True
else Result := ForceDirectories(S) and CreateDir(Dir);
end;
end;

В KOL 1.72 так:
function ForceDirectories(Dir: String): Boolean;
begin
Result := FALSE;
// Copied from unit FileCtrl:
if Length(Dir) = 0 then Exit;
Dir := ExcludeTrailingPathDelimiter(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir)
or (ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
if not ForceDirectories(ExtractFilePath(Dir)) then Exit;
Result := CreateDir(Dir);
end;

А в VCL так:
function ForceDirectories(Dir: string): Boolean;
begin
Result := True;
if Length(Dir) = 0 then
raise Exception.CreateRes(@SCannotCreateDir);
Dir := ExcludeTrailingBackslash(Dir);
if (Length(Dir) < 3) or DirectoryExists(Dir)
or (ExtractFilePath(Dir) = Dir) then Exit; // avoid "xyz:\" problem.
Result := ForceDirectories(ExtractFilePath(Dir)) and CreateDir(Dir);
end;



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
14-37883
Mihey
2003-12-20 23:37
2004.01.13
Вот так глюк


14-37876
}|{yk
2003-12-23 18:38
2004.01.13
Никто не видел сервера ICQ для локальной сети?


3-37505
Виталя
2003-12-17 10:01
2004.01.13
Как засунуть exe-файл в БД.


1-37773
amo
2003-12-29 16:06
2004.01.13
Как удалить запись из типизированного файла?


1-37674
Raduga
2003-12-26 13:53
2004.01.13
help по созданию сервисов Windows





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский