Форум: "KOL";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
ВнизПро KolService Найти похожие ветки
← →
Александр 2006 (2007-12-17 10:46) [0]KolService использует это:
Uses UWrd;
А где его взять?
← →
Jon © (2007-12-17 11:39) [1]http://kolmck.net/KOLobjects.zip
← →
Dimaxx © (2007-12-17 11:40) [2]Он короткий, поэтому кладу в виде поста:
unit UWrd;
interface
function words (str:string;d:char):integer;
function wordn (str:string;d:char;n:integer):string ;
function wordd (str:string;d:char;n:integer):string ;
function wordp (str:string;d:char;n:integer):integer;
function wordi (wrd,str:string;d:cHar):boolean;
function wordf (str:string;d:char;n:integer):string ;
implementation
function words;
var tempstr : string;
ins : boolean;
i,j : integer;
begin
tempstr := d + str + d;
ins := false;
j := 0;
for i := 1 to length(tempstr) do begin
if ins then
if tempstr[i] =d then ins:=false
else begin end
else
if tempstr[i]<>d then begin
inc(j);ins:=true;
end;
end;
words:=j;
end;
function wordn;
var i,j:integer;
tempstr:string;
begin
i:=words(str, d);
if i<n then begin
wordn:="";
exit;
end;
i:=1;
while words(copy(str,1,i), d)<n do inc(i);
j:=i;
tempstr:=str+d;
while tempstr[j]<>d do inc(j);
wordn:=copy(str,i,j-i);
end;
function wordd;
var i,j:integer;
sss:string;
tempstr:string;
begin
i:=words(str, d);
if i<n then begin
wordd:=str;
exit;
end;
i:=1;
while words(copy(str,1,i), d)<n do inc(i);
j:=i;
tempstr:=str+d;
while tempstr[j]<>d do inc(j);
sss :=copy(str,1,i-1);
wordd:=sss+copy(str,j+1,length(tempstr)-j);
end;
function wordp;
var i:integer;
begin
i:=words(str, d);
if i < n then begin
wordp := 0;
exit;
end;
i:=1;
while words(copy(str,1,i), d)<n do inc(i);
wordp := i;
end;
function wordi;
var i : integer;
begin
wordi := true;
for i := 1 to words(str, d) do
if wrd = wordn(str, d, i) tHen exit;
wordi := false;
end;
function wordf;
var i: integer;
begin
i := wordp(str, d, n);
wordf := "";
if (i > 0) and (i < length(str)) then
wordf := copy(str, i, length(str) - i + 1);
end;
end.
← →
Александр 2006 (2007-12-17 14:30) [3]Спасибо за помощь, но теперь при компиляции выдается ошибка:
procedure AfterGeneratePAS( SL: TStringList ); override;
differs from previous declaration.
Смотрю предка - он TKOLDataModule, там оно выглядит как
function AfterGeneratePAS( SL: TStringList ):Boolean; override; -
что-то такое.
Меняю по тексту это дело.
Тогда ругается на inherited в TKOLServiceEx.AfterGeneratePAS - несовместимые типы.
Что-то не то наверно делаю изначально? Как надо сделать?
← →
Jon © (2007-12-17 15:39) [4]procedure AfterGeneratePAS
function AfterGeneratePAS
That is wrong :-(
Download again from:
http://kolmck.net/Components/KOLService.zip
← →
Александр 2006 (2007-12-17 16:00) [5]>Download again from...
Ничего не поменялось:
[Error] mckService.pas(59): Declaration of "AfterGeneratePAS" differs from previous declaration
← →
Barloggg (2007-12-17 17:53) [6]ребилдолу прими.
← →
Дмитрий К © (2007-12-17 18:08) [7]
> Тогда ругается на inherited в TKOLServiceEx.AfterGeneratePAS
> - несовместимые типы.inherited AfterGeneratePAS(SL);
← →
Александр 2006 (2007-12-18 11:12) [8]> ребилдолу прими.
Это я не знаю что такое. Звиняйте...
> inherited AfterGeneratePAS(SL);
А вот это помогло. Всё работает, спасибо (собственно, это очевидно - просто давно не лазил в Delphi, поэтому малость туплю).
← →
Александр 2006 (2007-12-18 15:16) [9]P.S.
Всё классно, но вот одна неприятность: если запускать службу не с учётной записью LocalSystem, а какого-нибудь реального пользователя (ну, например, чтобы она имела доступ к UNC - ресурсу на чужом диске), то ни окошек нет (что в демке к KolService), ни кнопка остановки в окне "Службы" не активна, т.е. её вообще нельзя остановить. Чего-то всё-таки не хватает по сравнению с "традиционными" службами.
Как подправить? Кто-нибудь может разбирался?
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c