Develop and Download Open Source Software

Browse CVS Repository

Annotation of /gikonavigoeson/gikonavi/ExternalThreadItem.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.20 - (hide annotations) (download) (as text)
Sat Dec 10 11:01:53 2005 UTC (18 years, 4 months ago) by h677
Branch: MAIN
CVS Tags: v1_51_1_639, v1_51_0_626, b51, v1_52_0_646, v1_52_0_644, v1_52_0_643, v1_51_0_634, v1_51_0_635, v1_51_0_636, v1_51_0_637, v1_51_0_632, v1_51_0_633, v1_51_0_638, v1_52_0_645, v1_52_0_642, v1_51_1_640, v1_51_0_630, v1_51_0_631, v1_51_0_628, root-of-Bb51, v1_51_0_629, v1_51_0_627, v1_51_1_641
Branch point for: Bb51
Changes since 1.19: +1 -1 lines
File MIME type: text/x-pascal
リファクタリング中

1 yoffy 1.1 unit ExternalThreadItem;
2    
3     interface
4    
5     uses
6     Windows, Classes, SysUtils,
7     IdComponent,
8     ExternalBoardPlugInMain;
9    
10     type
11     // TThreadItem ???????????h┃絎?鐚??緇? ID
12     TThreadItemProperty = (
13     tipContext, // : DWORD // ???宴??┃絎???????????/span>
14     tipNo, // : Integer // ???/span>
15     tipFileName, // : string // ?鴻?????????<?ゃ????
16     tipTitle, // : string // ?鴻???????帥?ゃ????/span>
17     tipRoundDate, // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
18     tipLastModified, // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
19     tipCount, // : Integer // ?鴻???????????潟??鐚????若?????
20     tipAllResCount, // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
21     tipNewResCount, // : Integer // ?鴻???????亥????/span>
22     tipSize, // : Integer // ?鴻???????泣?ゃ??/span>
23     tipRound, // : Boolean // 綏≦????????/span>
24     tipRoundName, // : string // 綏≦????
25     tipIsLogFile, // : Boolean // ???医?????????/span>
26     tipKokomade, // : Integer // ?潟?潟?障?ц????????/span>
27     tipNewReceive, // : Integer // ?潟?潟?????域???篆?/span>
28     tipNewArrival, // : Boolean // ?亥??
29     tipUnRead, // : Boolean // ?????????/span>
30     tipScrollTop, // : Integer // ?鴻?????若???臀?/span>
31     tipDownloadHost, // : string // 篁??????鴻?????????翫???????鴻??
32     tipAgeSage, // : TThreadAgeSage // ?≪?ゃ?????????筝???
33     tipURL, // : string // ?鴻???????????????吟?ц;腓冴??????? URL
34     tipFilePath // : string // ?????鴻????篆?絖???????????????/span>
35     );
36    
37     // *************************************************************************
38     // TThreadItem ????????????
39     // *************************************************************************
40     TThreadItemCreate = procedure(
41     inInstance : DWORD
42     ); stdcall;
43    
44     // *************************************************************************
45     // TThreadItem ???贋???????
46     // *************************************************************************
47     TThreadItemDispose = procedure(
48     inInstance : DWORD
49     ); stdcall;
50    
51     // *************************************************************************
52     // ?????潟???若??????腓?/span>
53     // *************************************************************************
54     TThreadItemOnDownload = function(
55     inInstance : DWORD // ?ゃ?潟?鴻?帥?潟??/span>
56     ) : TDownloadState; stdcall; // ?????潟???若????????????????????
57    
58     // *************************************************************************
59 yoffy 1.2 // ?吾??莨若?帥????腓?/span>
60     // *************************************************************************
61     TThreadItemOnWrite = function(
62     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
63     inName : PChar; // ????(??潟????
64     inMail : PChar; // ?<?若???≪??????/span>
65     inMessage : PChar // ????
66     ) : TDownloadState; stdcall; // ?吾??莨若?帥??????????????????
67    
68     // *************************************************************************
69 yoffy 1.1 // ???合?? n ??????? html ??荀?羆?
70     // *************************************************************************
71     TThreadItemOnGetRes = function(
72     inInstance : DWORD; // ?ゃ?潟?鴻?帥?潟??/span>
73     inNo : DWORD // 茵?ず???????合???/span>
74     ) : PChar; stdcall; // 茵?ず???? HTML
75    
76     // *************************************************************************
77 h677 1.9 // ???合?? n ??????? Dat ??荀?羆?
78     // *************************************************************************
79     TThreadItemOnGetDat = function(
80     inInstance : DWORD; // ?ゃ?潟?鴻?帥?潟??/span>
81     inNo : DWORD // 茵?ず???????合???/span>
82     ) : PChar; stdcall; // 鐚??<????????綵√???at
83    
84     // *************************************************************************
85 yoffy 1.1 // ?鴻?????????????? html ??荀?羆?
86     // *************************************************************************
87     TThreadItemOnGetHeader = function(
88     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
89     inOptionalHeader : PChar // 菴遵??????????
90     ) : PChar; stdcall; // ?翫就?????? HTML
91    
92     // *************************************************************************
93     // ?鴻????????????? html ??荀?羆?
94     // *************************************************************************
95     TThreadItemOnGetFooter = function(
96     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
97     inOptionalFooter : PChar // 菴遵??????????/span>
98     ) : PChar; stdcall; // ?翫就?????? HTML
99    
100 yoffy 1.2 // *************************************************************************
101     // ??? ThreadItem ??絮??????帥? URL ??荀?羆?
102     // *************************************************************************
103     TThreadItemOnGetBoardURL = function(
104     inInstance : DWORD // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
105     ) : PChar; stdcall; // ?帥? URL
106 yoffy 1.1
107     function ThreadItemDat2HTML(
108     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
109     inDatRes : PChar; // ????<>?<?若??lt;>?ヤ?ID<>????<> ?ф??????????????鴻??
110     inResNo : DWORD; // ???合???/span>
111     inIsNew : Boolean // ?亥?????鴻???? True
112     ) : PChar; stdcall; // ?翫就?????? HTML
113    
114     implementation
115    
116 h677 1.15 uses ExternalBoardManager, GikoSystem, BoardGroup, HTMLCreate, MojuUtils;
117 yoffy 1.1
118     // *************************************************************************
119     // TThreadItem ?????鴻???????????c????緇?????
120     // *************************************************************************
121     function ThreadItemGetLong(
122     instance : DWORD;
123     propertyID : TThreadItemProperty
124     ) : DWORD; stdcall;
125     var
126     threadItem : TThreadItem;
127     begin
128    
129     threadItem := TThreadItem( instance );
130     case propertyID of
131     tipContext: // : DWORD // ???宴??┃絎???????????/span>
132     Result := threadItem.Context;
133     tipNo: // : Integer // ???/span>
134     Result := threadItem.No;
135     tipFileName: // : string // ?鴻?????????<?ゃ????
136     Result := DWORD( CreateResultString( threadItem.FileName ) );
137     tipTitle: // : string // ?鴻???????帥?ゃ????/span>
138     Result := DWORD( CreateResultString( threadItem.Title ) );
139     tipCount: // : Integer // ?鴻???????????潟??鐚????若?????
140     Result := threadItem.Count;
141     tipAllResCount: // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
142     Result := threadItem.AllResCount;
143     tipNewResCount: // : Integer // ?鴻???????亥????/span>
144     Result := threadItem.NewResCount;
145     tipSize: // : Integer // ?鴻???????泣?ゃ??/span>
146     Result := threadItem.Size;
147     tipRound: // : Boolean // 綏≦????????/span>
148     Result := DWORD( threadItem.Round );
149     tipRoundName: // : string // 綏≦????
150     Result := DWORD( CreateResultString( threadItem.RoundName ) );
151     tipIsLogFile: // : Boolean // ???医?????????/span>
152     Result := DWORD( threadItem.IsLogFile );
153     tipKokomade: // : Integer // ?潟?潟?障?ц????????/span>
154     Result := threadItem.Kokomade;
155     tipNewReceive: // : Integer // ?潟?潟?????域???篆?/span>
156     Result := threadItem.NewReceive;
157     tipNewArrival: // : Boolean // ?亥??
158     Result := DWORD( threadItem.NewArrival );
159     tipUnRead: // : Boolean // ?????????/span>
160     Result := DWORD( threadItem.UnRead );
161     tipScrollTop: // : Integer // ?鴻?????若???臀?/span>
162     Result := threadItem.ScrollTop;
163     tipDownloadHost: // : string // 篁??????鴻?????????翫???????鴻??
164     Result := DWORD( CreateResultString( threadItem.DownloadHost ) );
165     tipAgeSage: // : TThreadAgeSage // ?≪?ゃ?????????筝???
166     Result := DWORD( threadItem.AgeSage );
167     tipURL: // : string // ?鴻???????????????吟?ц;腓冴??????? URL
168     Result := DWORD( CreateResultString( threadItem.URL ) );
169     tipFilePath: // ?????鴻????篆?絖???????????????/span>
170     Result := DWORD( CreateResultString( threadItem.FilePath ) );
171     else
172     Result := 0;
173     end;
174     end;
175    
176     // *************************************************************************
177     // TThreadItem ?????鴻???????????c??荐??????
178     // *************************************************************************
179     procedure ThreadItemSetLong(
180     instance : DWORD;
181     propertyID : TThreadItemProperty;
182     param : DWORD
183     ); stdcall;
184     var
185     threadItem : TThreadItem;
186     begin
187    
188     threadItem := TThreadItem( instance );
189     case propertyID of
190     tipContext: // : DWORD // ???宴??┃絎???????????/span>
191     threadItem.Context := param;
192     tipNo: // : Integer // ???/span>
193     threadItem.No := param;
194     tipFileName: // : string // ?鴻?????????<?ゃ????
195     threadItem.FileName := string( PChar( param ) );
196     tipTitle: // : string // ?鴻???????帥?ゃ????/span>
197     threadItem.Title := string( PChar( param ) );
198     tipCount: // : Integer // ?鴻???????????潟??鐚????若?????
199     threadItem.Count := param;
200     tipAllResCount: // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
201     threadItem.AllResCount := param;
202     tipNewResCount: // : Integer // ?鴻???????亥????/span>
203     threadItem.NewResCount := param;
204     tipSize: // : Integer // ?鴻???????泣?ゃ??/span>
205     threadItem.Size := param;
206     tipRound: // : Boolean // 綏≦????????/span>
207     threadItem.Round := Boolean( param );
208     tipRoundName: // : string // 綏≦????
209 h677 1.13 //threadItem.RoundName := string( PChar( param ) );
210     threadItem.RoundName := PChar( param );
211 yoffy 1.1 tipIsLogFile: // : Boolean // ???医?????????/span>
212     threadItem.IsLogFile := Boolean( param );
213     tipKokomade: // : Integer // ?潟?潟?障?ц????????/span>
214     threadItem.Kokomade := param;
215     tipNewReceive: // : Integer // ?潟?潟?????域???篆?/span>
216     threadItem.NewReceive := param;
217     tipNewArrival: // : Boolean // ?亥??
218     threadItem.NewArrival := Boolean( param );
219     tipUnRead: // : Boolean // ?????????/span>
220     threadItem.UnRead := Boolean( param );
221     tipScrollTop: // : Integer // ?鴻?????若???臀?/span>
222     threadItem.ScrollTop := param;
223     tipDownloadHost: // : string // 篁??????鴻?????????翫???????鴻??
224     threadItem.DownloadHost := string( PChar( param ) );
225     tipAgeSage: // : TThreadAgeSage // ?≪?ゃ?????????筝???
226     threadItem.AgeSage := TGikoAgeSage( param );
227     tipURL: // : string // ?鴻???????????????吟?ц;腓冴??????? URL
228     threadItem.URL := string( PChar( param ) );
229 h677 1.13 //tipFilePath: // : string // ?????鴻????篆?絖???????????????/span>
230     // threadItem.FilePath := string( PChar( param ) );
231 yoffy 1.1 end;
232    
233     end;
234    
235     // *************************************************************************
236     // TThreadItem ?????鴻???????????c????緇?????
237     // *************************************************************************
238     function ThreadItemGetDouble(
239     instance : DWORD;
240     propertyID : TThreadItemProperty
241     ) : Double; stdcall;
242     var
243     threadItem : TThreadItem;
244     begin
245    
246     threadItem := TThreadItem( instance );
247     case propertyID of
248     tipRoundDate: // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
249     Result := threadItem.RoundDate;
250     tipLastModified: // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
251     Result := threadItem.LastModified;
252     else
253     Result := 0;
254     end;
255    
256     end;
257    
258     // *************************************************************************
259     // TThreadItem ?????鴻???????????c??荐??????
260     // *************************************************************************
261     procedure ThreadItemSetDouble(
262     instance : DWORD;
263     propertyID : TThreadItemProperty;
264     param : Double
265     ); stdcall;
266     var
267     threadItem : TThreadItem;
268     begin
269    
270     threadItem := TThreadItem( instance );
271     case propertyID of
272     tipRoundDate: // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
273     threadItem.RoundDate := param;
274     tipLastModified: // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
275     threadItem.LastModified := param;
276     end;
277    
278     end;
279    
280     // *************************************************************************
281     // TThreadItem ?????鴻????????<????????? dat 綵√? 1 茵??? HTML ?????????
282     // *************************************************************************
283     function ThreadItemDat2HTML(
284     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
285     inDatRes : PChar; // ????<>?<?若??lt;>?ヤ?ID<>????<> ?ф??????????????鴻??
286     inResNo : DWORD; // ???合???/span>
287     inIsNew : Boolean // ?亥?????鴻???? True
288     ) : PChar; stdcall; // ?翫就?????? HTML
289     var
290     threadItem : TThreadItem;
291     res : TResRec;
292     no : string;
293 h677 1.19 resLink : TResLinkRec;
294 yoffy 1.1 begin
295    
296     threadItem := TThreadItem( inInstance );
297     // 綣??違????茹?/span>
298 h677 1.19 THTMLCreate.DivideStrLine( string( inDatRes ) , @res);
299     if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin
300 h677 1.20 res.FBody := THTMLCreate.DeleteLink(res.FBody);
301 h677 1.19 resLink.FBbs := threadItem.ParentBoard.BBSID;
302     resLink.FKey := ChangeFileExt( threadItem.FileName, '' );
303 h677 1.18 HTMLCreater.AddAnchorTag( @res );
304 h677 1.19 HTMLCreater.ConvRes( @res, @resLink );
305 h677 1.8
306 h677 1.19 no := IntToStr( inResNo );
307 yoffy 1.1
308 h677 1.19 try
309     if GikoSys.Setting.UseSkin then begin
310     // ?鴻????/span>
311     if inIsNew then
312 h677 1.14 Result := CreateResultString( HTMLCreater.SkinedRes(
313     HTMLCreater.LoadFromSkin(
314 h677 1.11 GikoSys.Setting.GetSkinNewResFileName, threadItem, threadItem.Size
315 h677 1.17 ), @res, no
316 h677 1.6 ) )
317     else
318 h677 1.14 Result := CreateResultString( HTMLCreater.SkinedRes(
319     HTMLCreater.LoadFromSkin(
320 h677 1.11 GikoSys.Setting.GetSkinResFileName, threadItem, threadItem.Size
321 h677 1.17 ), @res, no
322 h677 1.6 ) );
323     end else if GikoSys.Setting.UseCSS then begin
324     // CSS
325     if res.FName = '' then
326     res.FName := '&nbsp;';
327     if res.FMailTo = '' then
328     Result := CreateResultString( '<a name="' + no + '"></a>'
329     + '<div class="header"><span class="no"><a href="menu:' + No + '">' + no + '</a></span> '
330     + '<span class="name_label">????鐚?</span> '
331     + '<span class="name"><b>' + res.FName + '</b></span> '
332     + '<span class="date_label">??腮炊?ワ?</span> '
333     + '<span class="date">' + res.FDateTime+ '</span></div>'
334     + '<div class="mes">' + res.FBody + ' </div>' )
335     else if GikoSys.Setting.ShowMail then
336     Result := CreateResultString( '<a name="' + no + '"></a>'
337     + '<div class="header"><span class="no"><a href="menu:' + no + '">' + no + '</a></span>'
338     + '<span class="name_label"> ????鐚? </span>'
339     + '<a class="name_mail" href="mailto:' + res.FMailTo + '">'
340     + '<b>' + res.FName + '</b></a><span class="mail"> [' + res.FMailTo + ']</span>'
341     + '<span class="date_label"> ??腮炊?ワ?</span>'
342     + '<span class="date"> ' + res.FDateTime+ '</span></div>'
343     + '<div class="mes">' + res.FBody + ' </div>' )
344     else
345     Result := CreateResultString( '<a name="' + no + '"></a>'
346     + '<div class="header"><span class="no"><a href="menu:' + no + '">' + no + '</a></span>'
347     + '<span class="name_label"> ????鐚? </span>'
348     + '<a class="name_mail" href="mailto:' + res.FMailTo + '">'
349     + '<b>' + res.FName + '</b></a>'
350     + '<span class="date_label"> ??腮炊?ワ?</span>'
351     + '<span class="date"> ' + res.FDateTime+ '</span></div>'
352     + '<div class="mes">' + res.FBody + ' </div>' );
353     end else begin
354     // ??????????
355     if res.FMailTo = '' then
356     Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<font color="forestgreen"><b> ' + res.FName + ' </b></font> ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' )
357     else if GikoSys.Setting.ShowMail then
358     Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<a href="mailto:' + res.FMailTo + '"><b> ' + res.FName + ' </B></a> [' + res.FMailTo + '] ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' )
359     else
360     Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<a href="mailto:' + res.FMailTo + '"><b> ' + res.FName + ' </B></a> ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' );
361     end;
362     except
363     Result := nil;
364     end;
365     end else begin
366     Result := nil;
367     end;
368 yoffy 1.1
369     end;
370    
371     // *************************************************************************
372     // TThreadItem ?????鴻???????鴻??????????????????緇?????
373     // *************************************************************************
374     function ThreadItemGetHeader(
375     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
376     inOptionalHeader : PChar // 菴遵??????????
377     ) : PChar; stdcall; // ?翫就?????? HTML
378     var
379     threadItem : TThreadItem;
380     skinHeader : string;
381     optionalHeader : string;
382     begin
383    
384     {$IFDEF DEBUG}
385     Writeln('ExternalBoardManager.ThreadItemGetHeader');
386     {$ENDIF}
387     threadItem := TThreadItem( inInstance );
388     optionalHeader := string( inOptionalHeader );
389    
390     try
391     if GikoSys.Setting.UseSkin then begin
392     // ?鴻????/span>
393 h677 1.14 skinHeader := HTMLCreater.LoadFromSkin( GikoSys.Setting.GetSkinHeaderFileName, threadItem, threadItem.Size );
394 yoffy 1.1 if Length( optionalHeader ) > 0 then
395     skinHeader :=
396 yoffy 1.3 StringReplace( skinHeader, '</head>', optionalHeader + '</head><a name="top"></a>', [] );
397 yoffy 1.1 end else if GikoSys.Setting.UseCSS then begin
398     // CSS
399     skinHeader :=
400     '<html><head>' +
401     '<title>' + threadItem.Title + '</title>' +
402     '<link rel="stylesheet" href="'+ GikoSys.Setting.GetStyleSheetDir + GikoSys.Setting.CSSFileName +'" type="text/css">' +
403     optionalHeader +
404     '</head>' +
405     '<body>' +
406 yoffy 1.3 '<a name="top"></a>' +
407 yoffy 1.1 '<div class="title">' + threadItem.Title + '</div>';
408     end else begin
409     // ??????????
410     skinHeader :=
411     '<html><head>' +
412     '<title>' + threadItem.Title + '</title>' +
413     optionalHeader +
414     '</head>' +
415 yoffy 1.3 '<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">' +
416     '<a name="top"></a>' +
417     '<font size=+1 color="#FF0000">' + threadItem.Title + '</font>' +
418     '<dl>';
419 yoffy 1.1 end;
420     except
421     end;
422    
423     Result := CreateResultString( skinHeader );
424    
425     end;
426    
427     // *************************************************************************
428     // TThreadItem ?????鴻???????鴻?????????????帥????緇?????
429     // *************************************************************************
430     function ThreadItemGetFooter(
431     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
432     inOptionalFooter : PChar // 菴遵??????????/span>
433     ) : PChar; stdcall; // ?翫就?????? HTML
434     var
435     threadItem : TThreadItem;
436     skinFooter : string;
437     optionalFooter : string;
438     begin
439    
440     {$IFDEF DEBUG}
441     Writeln('ExternalBoardManager.ThreadItemGetFooter');
442     {$ENDIF}
443     threadItem := TThreadItem( inInstance );
444     optionalFooter := string( inOptionalFooter );
445    
446     try
447     if GikoSys.Setting.UseSkin then begin
448 yoffy 1.3 // ?鴻????/span>
449 h677 1.14 skinFooter := HTMLCreater.LoadFromSkin( GikoSys.Setting.GetSkinFooterFileName, threadItem, threadItem.Size );
450 yoffy 1.1 if Length( optionalFooter ) > 0 then
451     skinFooter :=
452     StringReplace( skinFooter, '</body>', optionalFooter + '</body>', [] );
453 yoffy 1.3 end else if GikoSys.Setting.UseCSS then begin
454     // CSS
455     skinFooter :=
456     optionalFooter +
457     '</body></html>' +
458     '<a name="last"></a>' +
459     '</body></html>';
460 yoffy 1.1 end else begin
461 yoffy 1.3 // ??????????
462     skinFooter :=
463     '</dl>' +
464     optionalFooter +
465     '</body></html>' +
466     '<a name="last"></a>' +
467     '</body></html>';
468 yoffy 1.1 end;
469     except
470     end;
471    
472     Result := CreateResultString( skinFooter );
473    
474     end;
475    
476     // *************************************************************************
477     // ?鴻?????????????潟???若?????画?????
478     // *************************************************************************
479     procedure ThreadItemWork(
480     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
481     inWorkCount : Integer // ?上?????我??倶?(?????潟??)
482     ); stdcall;
483     begin
484    
485     if Assigned( OnWork ) then
486     OnWork( TObject( inInstance ), wmRead, inWorkCount );
487    
488     end;
489    
490     // *************************************************************************
491     // ?鴻?????????????潟???若????紮??障?c??
492     // *************************************************************************
493     procedure ThreadItemWorkBegin(
494     inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
495     inWorkCountMax : Integer // ??篆<????????腓冴???????潟??
496     ); stdcall;
497     begin
498    
499     if Assigned( OnWorkBegin ) then
500     OnWorkBegin( TObject( inInstance ), wmRead, inWorkCountMax );
501    
502     end;
503    
504     // *************************************************************************
505     // ?鴻?????????????潟???若????腟???c??
506     // *************************************************************************
507     procedure ThreadItemWorkEnd(
508     inInstance : DWORD // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
509     ); stdcall;
510     begin
511    
512     if Assigned( OnWorkEnd ) then
513     OnWorkEnd( TObject( inInstance ), wmRead );
514    
515     end;
516    
517     exports
518     ThreadItemGetLong,
519     ThreadItemSetLong,
520     ThreadItemGetDouble,
521     ThreadItemSetDouble,
522     ThreadItemDat2HTML,
523     ThreadItemGetHeader,
524     ThreadItemGetFooter,
525     ThreadItemWork,
526     ThreadItemWorkBegin,
527     ThreadItemWorkEnd;
528    
529     end.
530    

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26