Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.15;
Скачать: CL | DM;

Вниз

Про 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 вся ветка

Текущий архив: 2009.03.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-1216026097
Костик
2008-07-14 13:01
2009.03.15
Какую выбрать технологию?


15-1231856375
Jeer
2009-01-13 17:19
2009.03.15
Кольцо сайтов "Научная книга" ?


15-1231582306
AlexDan
2009-01-10 13:11
2009.03.15
Математика, функции.


15-1231679344
Альф
2009-01-11 16:09
2009.03.15
Может ли программа определить, как её запустили ?


15-1231668190
Leshiy
2009-01-11 13:03
2009.03.15
Backup/restore через удаленный рабочий стол