-
Да, я сейчас посмотрел на том большом проекте, больше такого нет (если строку закомментарить). Не знаю, что это было. Какой-то глюк промежуточной версии.
И что, на SourceForge через svn-клиентов работает? Или только web?
-
> Да, я сейчас посмотрел на том большом проекте, больше такого > нет (если строку закомментарить). Не знаю, что это было. > Какой-то глюк промежуточной версии.
а может ждали мало..
> И что, на SourceForge через svn-клиентов работает? Или только > web?
Скачать можно и без клиента (по файлово или через tarball), а вот чтоб заливать надо свн клиент
-
Или вы про зарегаца? Зарегаца можно по веб..
-
а может ждали мало Ждал столько же, сколько и со строчкой TerminateProcess, но в случае Terminate лишних вообще не появлялось. Поставлю в ifdef-скобки как обычно. По умолчанию без Terminate.
Так, D2010 приказал долго жить. При очередном запуске поломался, не смог загрузить какой-то пакадж, и теперь при любом запуске стоит в процессах около секунды и исчезает. Ремонт и переустановка не помогла. Проверять его синтаксические искусы больше не на чем. Разве только D2009+Upd1 поставить.
-
Thank you - with v3.00f and updated KOLMHToolTip.pas the USE_MHTOOLTIP directive is working Still a problem with UNICODE_CTRLS on WnXP using D7:
dcc32.exe -b KOL.pas -dUNICODE_CTRLS
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
KOLDEF.INC(253)
KOLDEF.INC(253)
delphidef.inc(48)
delphicommctrl.inc(1569)
KOL_unicode.inc(1185)
KOL_unicode.inc(1185)
KOL_ASM.inc(2158) Error: Declaration of 'TextArea' differs from previous declaration
KOL_ASM.inc(2164) Error: Undeclared identifier: 'TextExtent'
KOL_ASM.inc(2451) Error: Identifier redeclared: 'Int2Hex'
KOL_ASM.inc(2534) Error: Previous declaration of 'Hex2Int' was not marked with the 'overload' directive
KOL_ASM.inc(2586) Error: Identifier redeclared: 'Int2Str'
KOL_ASM.inc(15344)
KOL.pas(63799)
And also, still not working is the OnDropFiles event.
-
Together with the fixes in [89] and [90] from MTsv DN, also need to fix ActiveKOL:
procedure TOleCtl.StandardEvent(DispID: TDispID; var Params: TDispParams);
...
DISPID_KEYPRESS:
if Params.cArgs > 0 then
begin
Ch := KOLChar(Integer(Variant(Args^[0])));
KeyPress(Ch);
if ((Args^[0].vType and varByRef) <> 0) then
KOLChar(Args^[0].VPointer^) := Ch;
end;
-
There is also an error with the ASM_VERSION using the property Count:
program Test;
uses KOL;
procedure ButtonClick(Dummy: Pointer; Sender: PObj);
begin
Applet.Caption := Int2Str(Applet.ChildCount); end;
begin
Applet := NewForm(nil, 'Test');
with NewButton(Applet, 'Count')^ do
OnClick := TonEvent(MakeMethod(nil, @ButtonClick));
Run(Applet);
end.
Defines: UNICODE_CTRLS; = error UNICODE_CTRLS;PAS_VERSION; = ok
-
3.00.G - kol.zip, mck.zip, koladd.zip, kol_err.zip
DISPID_KEYPRESS: Don't see any changes. Therefore I replaced it. Download because another fixes are there (fName, Name in two or three different places). Also, err.pas is changed to fix syntax errors with UNICODE_CTRLS + ActiveKOL.
-
Судя по пас версии, надо и в асм добавить DIBPixels32bitWithAlpha, иначе не задействуется новый код
fGetDIBPixels := _GetDIBPixelsTrueColorAlpha
_GetDIBPixelsTrueColor ;
Есть еще одна улучшалка для TStrList:
...
procedure SortEx(const CompareFun: TCompareEvent);
...
procedure TStrList.SortEx(const CompareFun: TCompareEvent);
begin
SortData(@Self, fCount, CompareFun, @TStrList.Swap);
end;
Таким образом можно использовать настраеваемую сортировку Залил на свн 3.00.G.
-
There is still the issue from [105] after your changes from [107]Tried with new version: ActiveKOL.pas 76,885 bytes 07/10/2010
dcc32.exe -b ActiveKOL.pas -dUNICODE_CTRLS;
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
KOLDEF.INC(253)
KOLDEF.INC(253)
delphidef.inc(48)
delphicommctrl.inc(1569)
KOL_unicode.inc(1185)
KOL_unicode.inc(1185)
KOL_ASM.inc(15225)
KOL.pas(64002)
KOLDEF.INC(253)
KOLDEF.INC(253)
err.pas(1198)
KOLComObj.pas(2353)
KOLDEF.INC(253)
ActiveKOL.pas(1873) Error: Incompatible types: 'KOLChar' and 'Char'
ActiveKOL.pas(1876) Error: Incompatible types: 'Char' and 'KOLChar'
ActiveKOL.pas(2638)
All other issues are fine now - thank you.
-
-
2 КладовЕще один баг: http://zalil.ru/29797062Неправильный подсчет размера текста. Сочетание директив обязательно такое: KOL_MCK;GRAPHCTL_XPSTYLES;UNICODE_CTRLS;nil_events
-
2 КладовТока щас сообразил. Ошибка появилась после смены объявления procedure TextArea( const Text : KOLString; var Sz : TSize; var P0 : TPoint ); То Вы сидите на D6 и ХР, то кинулись сразу на D2010 и семерку. Чем анси-версия-то не устраивала? Есть же WTextArea... Поясните уж тогда, почему в TextExtent и DrawText оставили AnsiString, потому что пока Вы это не используете?
-
Ну и до кучи.
function TCanvas.TextExtent(const Text: AnsiString): TSize;
var DC : HDC;
ClearHandle : Boolean;
begin
.
.
.
end;
procedure TCanvas.TextArea(const Text: KOLString; var Sz: TSize;
var P0: TPoint);
begin
Sz := TextExtent( Text );
P0.x := 0; P0.y := 0;
TOnTextArea( GlobalCanvas_OnTextArea )( @Self, Sz, P0 );
end; Ничего не смущает, если использовать UNICODE_CTRLS
-
I understand that Delphi 7 and Delphi 6 a bit different compilers, but C:\Borland\Delphi6\Bin>dcc32.exe -b d:\kol\ActiveKOL.pas -dUNICODE_CTRLS
Borland Delphi Version 14.0
Copyright (c) 1983,2002 Borland Software Corporation
d:\kol\KOLDEF.INC(254)
d:\kol\KOLDEF.INC(254)
d:\kol\delphidef.inc(48)
d:\kol\delphicommctrl.inc(1569)
d:\kol\KOL_unicode.inc(1185)
d:\kol\KOL_unicode.inc(1185)
d:\kol\KOL_ASM.inc(15382)
d:\kol\KOL.pas(64573)
d:\kol\KOLDEF.INC(254)
d:\kol\KOLDEF.INC(254)
d:\kol\err.pas(1197)
d:\kol\KOLComObj.pas(2353)
d:\kol\KOLDEF.INC(254)
d:\kol\ActiveKOL.pas(2650)
91406 lines, 1.47 seconds, 15398 bytes code, 112 bytes data. and in Delphi7SE (I havn't other): C:\Borland\Delphi7SE\Bin>dcc32.exe -b d:\kol\ActiveKOL.pas -dUNICODE_CTRLS
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
d:\kol\KOLDEF.INC(254)
d:\kol\KOLDEF.INC(254)
d:\kol\delphidef.inc(48)
d:\kol\delphicommctrl.inc(1569)
d:\kol\KOL_unicode.inc(1185)
d:\kol\KOL_unicode.inc(1185)
d:\kol\KOL_ASM.inc(15382)
d:\kol\KOL.pas(64573)
d:\kol\KOLDEF.INC(254)
d:\kol\KOLDEF.INC(254)
d:\kol\err.pas(1197)
d:\kol\KOLComObj.pas(2353)
d:\kol\KOLDEF.INC(254)
d:\kol\ActiveKOL.pas(2650)
91406 lines, 0.70 seconds, 15406 bytes code, 112 bytes data.
We have different ActiveKOL.pas: DISPID_KEYDOWN, DISPID_KEYUP:
if Params.cArgs >= 2 then
begin
Key := Variant(Args^[1]);
X := Variant(Args^[0]);
case DispID of
DISPID_KEYDOWN: KeyDown(Key, X);
DISPID_KEYUP: KeyUp(Key, X);
end;
if ((Args^[1].vType and varByRef) <> 0) then
Word(Args^[1].VPointer^) := Key;
end; DISPID_KEYPRESS:
if Params.cArgs > 0 then
begin Ch := KOLChar(Integer(Variant(Args^[0])));
KeyPress(Ch);
if ((Args^[0].vType and varByRef) <> 0) then
KOLChar(Args^[0].VPointer^) := Ch;
end;
Pls download ActiveKOL from kolmck.net, unit file size is 77 251 bytes.
-
-
Can you provide the correct download link for ActiveKOL. I used this one: http://kolmck.net/Components/dde_ole_activex/ActiveKOL.zipActiveKOL.zip (57350 bytes) Contents: ActiveKOL.pas (76,885 bytes 07/10/2010 12:11) ActiveKOL_readme.txt (4,026 bytes 12/01/2003 19:59) KOLComObj.pas (73,140 bytes 30/06/2007 00:11) LICENSE.txt (4,757 bytes 06/11/2001 17:54) read_me_1st.txt (117 bytes 21/10/2006 13:43) TLB2KOL.exe (14,336 bytes 16/07/2001 22:57) Tlb2KolSrc.zip (6,811 bytes 16/07/2001 23:49) Can you please check that you are hosting the correct file.
-
почему в TextExtent и DrawText оставили AnsiString, потому что пока Вы это не используете Потому что по этому поводу не ругался D2010. Важно убирать все предупреждения компилятора. Если этого не делать, то между огромным числом предупреждений менее существенных (таких как предупреждение о возможной потери информации при имплицитном преобразовании из WideString/WideChar/PWideChar в AnsiString/AnsiChar/PAnsiChar) начинают теряться более существенные предупреждения. Например, предупреждение о "подозрительном" (suspicious) приведении типа PWideChar к PAnsiChar является обязательным к устранению, речь идет уже скорее об ошибке, чем о предупреждении.
В случае TextArea более корректно привести для UNICODE_CTRLS к KOLString, т.к. размеры национальных символов могут отличаться от размеров символа '?', к которому они приводятся при преобразовании в Ansi. Более правильно и DrawText преобразовать, чтобы изображались иероглифы и умляуты как положено.
На D2010 я пересаживаться не собираюсь. Мне и D6 более чем хватает. Тем более эти жуткие тормоза в D2010. Единственное, для чего установил, это улучшить к нему адаптацию. А заодно и unicode_ctrls усовершенствовать.
-
Выложил kol.zip (H), mck.zip (поправил версии файлов), koladd.zip (DirDlgEx - фикс пиктограмм для режима 16 бит на экране).
В KOL.pas появился символ SPEED_FASTER, наверное, оставим его по умолчанию, уж очень эффект полезный (сортировка StrList с AnsiSort (nocase) быстрее в 6 раз).
-
я немного не в теме... Что с количеством директив? Я за их уменьшение :)
|