4 ExternalBoardPlugIn BoardItem
5 \94Â
\8fî
\95ñ
\82ð
\95Û
\8e\9d\82·
\82é TBoardItem
\83N
\83\89\83X
12 PlugInMain, ThreadItem;
15 // TBoardItem
\82Ì
\83v
\83\8d\83p
\83e
\83B
\90Ý
\92è
\81^
\8eæ
\93¾ ID
16 TBoardItemProperty = (
17 bipContext, // : DWORD //
\8e©
\97R
\82É
\90Ý
\92è
\82µ
\82Ä
\82¢
\82¢
\92l
18 bipItems, // : TThreadItem //
\94Â
\82É
\8cq
\82ª
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
19 bipNo, // : Integer //
\94Ô
\8d\86
20 bipTitle, // : string //
\94Â
\83^
\83C
\83g
\83\8b
21 bipRoundDate, // : TDateTime //
\94Â
\82ð
\8eæ
\93¾
\82µ
\82½
\93ú
\8e\9e\81i
\8f\84\89ñ
\93ú
\8e\9e\81j
22 bipLastModified, // : TDateTime //
\94Â
\82ª
\8dX
\90V
\82³
\82ê
\82Ä
\82¢
\82é
\93ú
\8e\9e\81i
\83T
\81[
\83o
\91¤
\93ú
\8e\9e\81j
23 bipLastGetTime, // : TDateTime //
\83X
\83\8c\83b
\83h
\82Ü
\82½
\82Í
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\8cã
\82É
\8dX
\90V
\82µ
\82½
\93ú
\8e\9e\81i
\83T
\81[
\83o
\91¤
\93ú
\8e\9e\81E
\8f\91\82«
\8d\9e\82Ý
\8e\9e\82É
\8eg
\97p
\82·
\82é
\81j
24 bipRound, // : Boolean //
\8f\84\89ñ
\97\
\96ñ
25 bipRoundName, // : string //
\8f\84\89ñ
\96¼
26 bipIsLogFile, // : Boolean //
\83\8d\83O
\91¶
\8dÝ
\83t
\83\89\83O
27 bipUnRead, // : Integer //
\83X
\83\8c\83b
\83h
\96¢
\93Ç
\90\94
28 bipURL, // : string //
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
\8dÛ
\82Ì URL
29 bipFilePath // : string //
\82±
\82Ì
\94Â
\82ª
\95Û
\91¶
\82³
\82ê
\82Ä
\82¢
\82é
\83p
\83X
32 // *************************************************************************
33 //
\8ae
\83X
\83\8c\82Ì
\8fî
\95ñ
\82ð
\95Ô
\8bp
34 // *************************************************************************
35 TBoardItemEnumThreadCallBack = function(
36 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
37 inURL : PChar; //
\83X
\83\8c\83b
\83h
\82Ì URL
38 inTitle : PChar; //
\83X
\83\8c\83^
\83C
39 inCount : DWORD //
\83\8c\83X
\82Ì
\90\94
40 ) : Boolean; stdcall; //
\97ñ
\8b\93\82ð
\91±
\82¯
\82é
\82È
\82ç True
44 // =========================================================================
45 // TBoardItem
\83N
\83\89\83X
\82É
\8aÖ
\82·
\82é API
46 // =========================================================================
48 // *************************************************************************
50 // TBoardItem
\83N
\83\89\83X
\82É
\8cq
\82ª
\82ê
\82Ä
\82¢
\82é TThreadItem
\83N
\83\89\83X
\82ð
\8eæ
\93¾
\82·
\82é
51 // *************************************************************************
52 TBoardItemGetItems = function(
53 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
54 inIndex : Integer //
\8eæ
\93¾
\82·
\82é TThreadItem
\82Ì
\83C
\83\93\83f
\83b
\83N
\83X
55 ) : DWORD; stdcall; // TThreadItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
57 // *************************************************************************
59 // TBoardItem
\83N
\83\89\83X
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82ð
\8eæ
\93¾
\82·
\82é
60 // *************************************************************************
61 TBoardItemGetLong = function(
62 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
63 inPropertyID : TBoardItemProperty //
\8eæ
\93¾
\82·
\82é
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eí
\97Þ
64 ) : DWORD; stdcall; //
\96ß
\82è
\92l(
\88Ó
\96¡
\82Í inPropertyID
\82É
\82æ
\82Á
\82Ä
\88Ù
\82È
\82é)
66 // *************************************************************************
68 // TBoardItem
\83N
\83\89\83X
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82ð
\90Ý
\92è
\82·
\82é
69 // *************************************************************************
70 TBoardItemSetLong = procedure(
71 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
72 inPropertyID : TBoardItemProperty; //
\90Ý
\92è
\82·
\82é
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eí
\97Þ
73 inParam : DWORD //
\90Ý
\92è
\82·
\82é
\92l(
\88Ó
\96¡
\82Í inPropertyID
\82É
\82æ
\82Á
\82Ä
\88Ù
\82È
\82é)
76 // *************************************************************************
78 // TBoardItem
\83N
\83\89\83X
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82ð
\8eæ
\93¾
\82·
\82é
79 // *************************************************************************
80 TBoardItemGetDouble = function(
81 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
82 inPropertyID : TBoardItemProperty //
\8eæ
\93¾
\82·
\82é
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eí
\97Þ
83 ) : Double; stdcall; //
\96ß
\82è
\92l(
\88Ó
\96¡
\82Í inPropertyID
\82É
\82æ
\82Á
\82Ä
\88Ù
\82È
\82é)
85 // *************************************************************************
87 // TBoardItem
\83N
\83\89\83X
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82ð
\90Ý
\92è
\82·
\82é
88 // *************************************************************************
89 TBoardItemSetDouble = procedure(
90 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
91 inPropertyID : TBoardItemProperty; //
\90Ý
\92è
\82·
\82é
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eí
\97Þ
92 inParam : Double //
\90Ý
\92è
\82·
\82é
\92l(
\88Ó
\96¡
\82Í inPropertyID
\82É
\82æ
\82Á
\82Ä
\88Ù
\82È
\82é)
95 // *************************************************************************
96 //
\94Â
\82ª
\95Û
\97L
\82·
\82é
\83X
\83\8c\88ê
\97\97\82Ì
\97ñ
\8b\93\8f\88\97\9d\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\94C
\82¹
\82é
97 // *************************************************************************
98 TBoardItemEnumThread = procedure(
99 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
100 inCallBack : TBoardItemEnumThreadCallBack; //
\83X
\83\8c\82Ì
\8fî
\95ñ
\82ð
\95Ô
\8bp
\82·
\82é
\83\8b\81[
\83`
\83\93
101 inSubjectText : PChar //
\83t
\83@
\83C
\83\8b\96¼,
\83X
\83\8c\83^
\83C(
\83\8c\83X
\90\94)
\82Å
\8d\
\90¬
\82³
\82ê
\82é
\89ü
\8ds
\8bæ
\90Ø
\82è
\83e
\83L
\83X
\83g
104 // *************************************************************************
106 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82Ì
\90i
\95à
\8fó
\8bµ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
107 // *************************************************************************
108 TBoardItemWork = procedure(
109 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
110 inWorkCount : DWORD //
\8c»
\8dÝ
\82Ì
\90i
\95à
\8fó
\8bµ(
\83J
\83E
\83\93\83g)
113 // *************************************************************************
114 // BoardItemWorkBegin
115 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8en
\82Ü
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
116 // *************************************************************************
117 TBoardItemWorkBegin = procedure(
118 inInstance : DWORD; // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
119 inWorkCountMax : DWORD //
\92Ê
\90M
\82Ì
\8fI
\82í
\82è
\82ð
\8e¦
\82·
\83J
\83E
\83\93\83g
122 // *************************************************************************
124 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8fI
\82í
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
125 // *************************************************************************
126 TBoardItemWorkEnd = procedure(
127 inInstance : DWORD // TBoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
132 // =========================================================================
133 // TBoardItem
\83N
\83\89\83X
\82É
\8aÖ
\82·
\82é
\83C
\83x
\83\93\83g
134 // =========================================================================
136 // *************************************************************************
137 // TBoardItem
\82ª
\90¶
\90¬
\82³
\82ê
\82½
138 // *************************************************************************
139 TBoardItemOnCreateEvent = procedure(
143 // *************************************************************************
144 // TBoardItem
\82ª
\94j
\8aü
\82³
\82ê
\82½
145 // *************************************************************************
146 TBoardItemOnDisposeEvent = procedure(
150 // *************************************************************************
151 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
152 // *************************************************************************
153 TBoardItemOnDownloadEvent = function : TDownloadState of object;
155 // *************************************************************************
156 //
\83X
\83\8c\97§
\82Ä
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
157 // *************************************************************************
158 TBoardItemOnCreateThreadEvent = function(
159 inSubject : string; //
\83X
\83\8c\83^
\83C
160 inName : string; //
\96¼
\91O(
\83n
\83\93\83h
\83\8b)
161 inMail : string; //
\83\81\81[
\83\8b\83A
\83h
\83\8c\83X
162 inMessage : string //
\96{
\95¶
163 ) : TDownloadState of object; //
\8f\91\82«
\8d\9e\82Ý
\82ª
\90¬
\8c÷
\82µ
\82½
\82©
\82Ç
\82¤
\82©
165 // *************************************************************************
166 //
\82±
\82Ì
\94Â
\82É
\82¢
\82
\82Â
\82Ì
\83X
\83\8c\82ª
\82 \82é
\82©
\97v
\8b\81\82³
\82ê
\82½
167 // *************************************************************************
168 TBoardItemOnEnumThreadEvent = procedure(
169 inCallBack : TBoardItemEnumThreadCallBack
172 // *************************************************************************
173 //
\83t
\83@
\83C
\83\8b\96¼
\82©
\82ç
\83X
\83\8c\83b
\83h
\82Ì URL
\82ð
\97v
\8b\81\82³
\82ê
\82½
174 // *************************************************************************
175 TBoardItemOnFileName2ThreadURLEvent = function(
177 ) : string of object;
180 // =========================================================================
181 // TBoardItem
\83N
\83\89\83X
182 // =========================================================================
183 TBoardItem = class(TObject)
185 //
\83N
\83\89\83X
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
188 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
189 FOnDownload : TBoardItemOnDownloadEvent;
190 //
\83X
\83\8c\97§
\82Ä
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
191 FOnCreateThread : TBoardItemOnCreateThreadEvent;
192 //
\82±
\82Ì
\94Â
\82É
\82¢
\82
\82Â
\82Ì
\83X
\83\8c\82ª
\82 \82é
\82©
\97v
\8b\81\82³
\82ê
\82½
193 FOnEnumThread : TBoardItemOnEnumThreadEvent;
194 //
\83t
\83@
\83C
\83\8b\96¼
\82©
\82ç
\83X
\83\8c\83b
\83h
\82Ì URL
\82ð
\97v
\8b\81\82³
\82ê
\82½
195 FOnFileName2ThreadURL : TBoardItemOnFileName2ThreadURLEvent;
198 //
\83R
\83\93\83X
\83g
\83\89\83N
\83^
199 constructor Create( inInstance : DWORD );
201 //
\94Â
\82ª
\95Û
\97L
\82·
\82é
\83X
\83\8c\88ê
\97\97\82Ì
\97ñ
\8b\93\8f\88\97\9d\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\94C
\82¹
\82é
202 procedure EnumThread( inCallBack : TBoardItemEnumThreadCallBack; inSubjectText : string );
203 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82Ì
\90i
\95à
\8fó
\8bµ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
204 procedure Work( inWorkCount : Integer );
205 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8en
\82Ü
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
206 procedure WorkBegin( inWorkCountMax : Integer );
207 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8fI
\82í
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
211 // =====
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8aÇ
\97\9d\82ð
\93\9d\8a\87\82·
\82é
\83\89\83b
\83p
212 function GetLong( propertyID : TBoardItemProperty ) : DWORD;
213 procedure SetLong( propertyID : TBoardItemProperty; param : DWORD );
214 function GetDouble( propertyID : TBoardItemProperty ) : Double;
215 procedure SetDouble( propertyID : TBoardItemProperty; param : Double );
217 // =====
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eæ
\93¾
\81^
\90Ý
\92è
\82ð
\96\96\92[
\82É
\92ñ
\8b\9f\82·
\82é
\83\89\83b
\83p
218 function GetItems( index : Integer ) : TThreadItem;
219 function GetNo : Integer;
220 procedure SetNo( param : Integer );
221 function GetTitle : string;
222 procedure SetTitle( param : string );
223 function GetRoundDate : TDateTime;
224 procedure SetRoundDate( param : TDateTime );
225 function GetLastModified : TDateTime;
226 procedure SetLastModified( param : TDateTime );
227 function GetLastGetTime : TDateTime;
228 procedure SetLastGetTime( param : TDateTime );
229 function GetRound : Boolean;
230 procedure SetRound( param : Boolean );
231 function GetRoundName : string;
232 procedure SetRoundName( param : string );
233 function GetIsLogFile : Boolean;
234 procedure SetIsLogFile( param : Boolean );
235 function GetUnRead : Integer;
236 procedure SetUnRead( param : Integer );
237 function GetURL : string;
238 procedure SetURL( param : string );
239 function GetFilePath : string;
240 procedure SetFilePath( param : string );
243 property Instance : DWORD read FInstance;
246 // =====
\83C
\83x
\83\93\83g
247 property OnDownload : TBoardItemOnDownloadEvent read FOnDownload write FOnDownload;
248 property OnCreateThread : TBoardItemOnCreateThreadEvent read FOnCreateThread write FOnCreateThread;
249 property OnEnumThread : TBoardItemOnEnumThreadEvent read FOnEnumThread write FOnEnumThread;
250 property OnFileName2ThreadURL : TBoardItemOnFileName2ThreadURLEvent read FOnFileName2ThreadURL write FOnFileName2ThreadURL;
252 // ===== ThreadItem
\82É
\8eæ
\93¾
\81^
\90Ý
\92è
\89Â
\94\
\82È
\83v
\83\8d\83p
\83e
\83B
253 //
\94Â
\82É
\8cq
\82ª
\82ê
\82Ä
\82¢
\82é
\83X
\83\8c\83b
\83h
254 property Items[index : Integer] : TThreadItem read GetItems;
256 property No : Integer read GetNo write SetNo;
257 //
\94Â
\83^
\83C
\83g
\83\8b
258 property Title : string read GetTitle write SetTitle;
259 //
\94Â
\82ð
\8eæ
\93¾
\82µ
\82½
\93ú
\8e\9e\81i
\8f\84\89ñ
\93ú
\8e\9e\81j
260 property RoundDate : TDateTime read GetRoundDate write SetRoundDate;
261 //
\94Â
\82ª
\8dX
\90V
\82³
\82ê
\82Ä
\82¢
\82é
\93ú
\8e\9e\81i
\83T
\81[
\83o
\91¤
\93ú
\8e\9e\81j
262 property LastModified : TDateTime read GetLastModified write SetLastModified;
263 //
\83X
\83\8c\83b
\83h
\82Ü
\82½
\82Í
\83X
\83\8c\83b
\83h
\88ê
\97\97\82ð
\8dÅ
\8cã
\82É
\8dX
\90V
\82µ
\82½
\93ú
\8e\9e\81i
\83T
\81[
\83o
\91¤
\93ú
\8e\9e\81E
\8f\91\82«
\8d\9e\82Ý
\8e\9e\82É
\8eg
\97p
\82·
\82é
\81j
264 property LastGetTime : TDateTime read GetLastGetTime write SetLastGetTime;
265 //
\8f\84\89ñ
\83t
\83\89\83O
266 property Round : Boolean read GetRound write SetRound;
268 property RoundName : string read GetRoundName write SetRoundName;
269 //
\83\8d\83O
\91¶
\8dÝ
\83t
\83\89\83O
270 property IsLogFile : Boolean read GetIsLogFile write SetIsLogFile;
271 //
\83X
\83\8c\83b
\83h
\96¢
\93Ç
\90\94
272 property UnRead : Integer read GetUnRead write SetUnRead;
273 //
\94Â
\82ð
\83u
\83\89\83E
\83U
\82Å
\95\
\8e¦
\82·
\82é
\8dÛ
\82Ì URL
274 property URL : string read GetURL write SetURL;
275 //
\82±
\82Ì
\94Â
\82ª
\95Û
\91¶
\82³
\82ê
\82Ä
\82¢
\82é
\83p
\83X
276 property FilePath : string read GetFilePath write SetFilePath;
280 // ===== API
\82Ì
\83A
\83h
\83\8c\83X
281 BoardItemGetItems : TBoardItemGetItems;
282 BoardItemGetLong : TBoardItemGetLong;
283 BoardItemSetLong : TBoardItemSetLong;
284 BoardItemGetDouble : TBoardItemGetDouble;
285 BoardItemSetDouble : TBoardItemSetDouble;
286 BoardItemEnumThread : TBoardItemEnumThread;
287 BoardItemWork : TBoardItemWork;
288 BoardItemWorkBegin : TBoardItemWorkBegin;
289 BoardItemWorkEnd : TBoardItemWorkEnd;
290 // =====
\83C
\83x
\83\93\83g
\83n
\83\93\83h
\83\89
291 BoardItemOnCreate : TBoardItemOnCreateEvent;
292 BoardItemOnDispose : TBoardItemOnDisposeEvent;
294 // ===== TBoardItem
\83N
\83\89\83X
\82ð
\8aÇ
\97\9d\82·
\82é
\8aÖ
\90\94
295 procedure LoadInternalBoardItemAPI(
298 procedure BoardItemOnCreateOfTBoardItem(
301 procedure BoardItemOnDisposeOfTBoardItem(
307 // *************************************************************************
308 // TBoardItem
\82Ì
\83R
\83\93\83X
\83g
\83\89\83N
\83^
309 // *************************************************************************
310 constructor TBoardItem.Create(
311 inInstance : DWORD //
\83C
\83\93\83X
\83^
\83\93\83X
316 FInstance := inInstance;
318 OnCreateThread := nil;
320 OnFileName2ThreadURL := nil;
324 // *************************************************************************
325 //
\94Â
\82ª
\95Û
\97L
\82·
\82é
\83X
\83\8c\88ê
\97\97\82Ì
\97ñ
\8b\93\8f\88\97\9d\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\94C
\82¹
\82é
326 // *************************************************************************
327 procedure TBoardItem.EnumThread(
328 inCallBack : TBoardItemEnumThreadCallBack;
329 inSubjectText : string //
\83t
\83@
\83C
\83\8b\96¼<>
\83X
\83\8c\83^
\83C
\82Å
\8d\
\90¬
\82³
\82ê
\82½
\89ü
\8ds
\8bæ
\90Ø
\82è
\83e
\83L
\83X
\83g
333 BoardItemEnumThread( FInstance, inCallBack, PChar( inSubjectText ) );
337 // *************************************************************************
338 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82Ì
\90i
\95à
\8fó
\8bµ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
339 // *************************************************************************
340 procedure TBoardItem.Work(
341 inWorkCount : Integer //
\8c»
\8dÝ
\82Ì
\90i
\95à
\8fó
\8bµ(
\83J
\83E
\83\93\83g)
345 BoardItemWork( FInstance, inWorkCount );
349 // *************************************************************************
350 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8en
\82Ü
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
351 // *************************************************************************
352 procedure TBoardItem.WorkBegin(
353 inWorkCountMax : Integer //
\92Ê
\90M
\82Ì
\8fI
\82í
\82è
\82ð
\8e¦
\82·
\83J
\83E
\83\93\83g
357 BoardItemWorkBegin( FInstance, inWorkCountMax );
361 // *************************************************************************
362 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\8fI
\82í
\82Á
\82½
\82±
\82Æ
\82ð
\83v
\83\8d\83O
\83\89\83\80\96{
\91Ì
\82É
\93`
\82¦
\82é
363 // *************************************************************************
364 procedure TBoardItem.WorkEnd;
367 BoardItemWorkEnd( FInstance );
373 // =========================================================================
374 // TBoardItem
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8aÇ
\97\9d\82ð
\93\9d\8a\87\82·
\82é
\83\89\83b
\83p
375 // =========================================================================
376 function TBoardItem.GetLong( propertyID : TBoardItemProperty ) : DWORD;
378 Result := BoardItemGetLong( FInstance, propertyID );
381 procedure TBoardItem.SetLong( propertyID : TBoardItemProperty; param : DWORD );
383 BoardItemSetLong( FInstance, propertyID, param );
386 function TBoardItem.GetDouble( propertyID : TBoardItemProperty ) : Double;
388 Result := BoardItemGetDouble( FInstance, propertyID );
391 procedure TBoardItem.SetDouble( propertyID : TBoardItemProperty; param : Double );
393 BoardItemSetDouble( FInstance, propertyID, param );
398 // =========================================================================
399 //
\81«
\82±
\82±
\82©
\82ç
\81«
400 // TBoardItem
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eæ
\93¾
\81^
\90Ý
\92è
\82ð
\96\96\92[
\82É
\92ñ
\8b\9f\82·
\82é
\83\89\83b
\83p
401 // =========================================================================
402 function TBoardItem.GetItems(
408 tmp := BoardItemGetItems( FInstance, index );
409 Result := TThreadItem( ThreadItemGetLong( tmp, tipContext ) );
412 function TBoardItem.GetNo : Integer;
414 Result := GetLong( bipNo );
417 procedure TBoardItem.SetNo( param : Integer );
419 SetLong( bipNo, param );
422 function TBoardItem.GetTitle : string;
426 tmp := PChar( GetLong( bipTitle ) );
427 Result := string( tmp );
428 DisposeResultString( tmp );
431 procedure TBoardItem.SetTitle( param : string );
433 SetLong( bipTitle, DWORD( PChar( param ) ) );
436 function TBoardItem.GetRoundDate : TDateTime;
438 Result := GetDouble( bipRoundDate );
441 procedure TBoardItem.SetRoundDate( param : TDateTime );
443 SetDouble( bipRoundDate, param );
446 function TBoardItem.GetLastModified : TDateTime;
448 Result := GetDouble( bipLastModified );
451 procedure TBoardItem.SetLastModified( param : TDateTime );
453 SetDouble( bipLastModified, param );
456 function TBoardItem.GetLastGetTime : TDateTime;
458 Result := GetDouble( bipLastGetTime );
461 procedure TBoardItem.SetLastGetTime( param : TDateTime );
463 SetDouble( bipLastGetTime, param );
466 function TBoardItem.GetRound : Boolean;
468 Result := Boolean( GetLong( bipRound ) );
471 procedure TBoardItem.SetRound( param : Boolean );
473 SetLong( bipRound, DWORD( param ) );
476 function TBoardItem.GetRoundName : string;
480 tmp := PChar( GetLong( bipRoundName ) );
481 Result := string( tmp );
482 DisposeResultString( tmp );
485 procedure TBoardItem.SetRoundName( param : string );
487 SetLong( bipRoundName, DWORD( PChar( param ) ) );
490 function TBoardItem.GetIsLogFile : Boolean;
492 Result := Boolean( GetLong( bipIsLogFile ) );
495 procedure TBoardItem.SetIsLogFile( param : Boolean );
497 SetLong( bipIsLogFile, DWORD( param ) );
500 function TBoardItem.GetUnRead : Integer;
502 Result := GetLong( bipUnRead );
505 procedure TBoardItem.SetUnRead( param : Integer );
507 SetLong( bipUnRead, param );
510 function TBoardItem.GetURL : string;
514 tmp := PChar( GetLong( bipURL ) );
515 Result := string( tmp );
516 DisposeResultString( tmp );
519 procedure TBoardItem.SetURL( param : string );
521 SetLong( bipURL, DWORD( PChar( param ) ) );
524 function TBoardItem.GetFilePath : string;
528 tmp := PChar( GetLong( bipFilePath ) );
529 Result := string( tmp );
530 DisposeResultString( tmp );
533 procedure TBoardItem.SetFilePath( param : string );
535 SetLong( bipFilePath, DWORD( PChar( param ) ) );
537 // =========================================================================
538 // TBoardItem
\82Ì
\83v
\83\8d\83p
\83e
\83B
\82Ì
\8eæ
\93¾
\81^
\90Ý
\92è
\82ð
\96\96\92[
\82É
\92ñ
\8b\9f\82·
\82é
\83\89\83b
\83p
539 //
\81ª
\82±
\82±
\82Ü
\82Å
\81ª
540 // =========================================================================
545 // =========================================================================
546 // TBoardItem
\83N
\83\89\83X
\82ð
\8aÇ
\97\9d\82·
\82é
\8aÖ
\90\94
547 // =========================================================================
549 // *************************************************************************
550 // TBoardItem
\82ª
\90¶
\90¬
\82³
\82ê
\82½
\8fê
\8d\87\82Ì
\83f
\83t
\83H
\83\8b\83g
\82Ì
\8f\88\92u(TBoardItem
\82ð
\90¶
\90¬
\82·
\82é)
551 // *************************************************************************
552 procedure BoardItemOnCreateOfTBoardItem(
556 boardItem : TBoardItem;
559 boardItem := TBoardItem.Create( inInstance );
560 boardItemSetLong( inInstance, bipContext, DWORD( BoardItem ) );
564 // *************************************************************************
565 // TBoardItem
\82ª
\94j
\8aü
\82³
\82ê
\82½
\8fê
\8d\87\82Ì
\83f
\83t
\83H
\83\8b\83g
\82Ì
\8f\88\92u(TBoardItem
\82ð
\94j
\8aü
\82·
\82é)
566 // *************************************************************************
567 procedure BoardItemOnDisposeOfTBoardItem(
571 boardItem : TBoardItem;
574 boardItem := TBoardItem( BoardItemGetLong( inInstance, bipContext ) );
579 // *************************************************************************
580 // PlugInSDK
\82Ì TBoardItem
\82É
\8aÖ
\82·
\82é API
\82ð
\8f\89\8aú
\89»
581 // *************************************************************************
582 procedure LoadInternalBoardItemAPI(
587 // =====
\83C
\83\93\83X
\83^
\83\93\83X
\82Ì
\83f
\83t
\83H
\83\8b\83g
\82Ì
\8eæ
\82è
\88µ
\82¢
\82ð TBoardItem
\82É
\82·
\82é
588 BoardItemOnCreate := BoardItemOnCreateOfTBoardItem;
589 BoardItemOnDispose := BoardItemOnDisposeOfTBoardItem;
591 // ===== TBoardItem
\83v
\83\8d\83p
\83e
\83B
\8eæ
\93¾
\90Ý
\92è
\8aÖ
\90\94
592 BoardItemGetItems := GetProcAddress( inModule, 'BoardItemGetItems' );
593 if not Assigned( BoardItemGetItems ) then
594 System.ExitCode := 1;
595 BoardItemGetLong := GetProcAddress( inModule, 'BoardItemGetLong' );
596 if not Assigned( BoardItemGetLong ) then
597 System.ExitCode := 1;
598 BoardItemSetLong := GetProcAddress( inModule, 'BoardItemSetLong' );
599 if not Assigned( BoardItemSetLong ) then
600 System.ExitCode := 1;
601 BoardItemGetDouble := GetProcAddress( inModule, 'BoardItemGetDouble' );
602 if not Assigned( BoardItemGetDouble ) then
603 System.ExitCode := 1;
604 BoardItemSetDouble := GetProcAddress( inModule, 'BoardItemSetDouble' );
605 if not Assigned( BoardItemSetDouble ) then
606 System.ExitCode := 1;
607 BoardItemEnumThread := GetProcAddress( inModule, 'BoardItemEnumThread' );
608 if not Assigned( BoardItemEnumThread ) then
609 System.ExitCode := 1;
610 BoardItemWork := GetProcAddress( inModule, 'BoardItemWork' );
611 if not Assigned( BoardItemWork ) then
612 System.ExitCode := 1;
613 BoardItemWorkBegin := GetProcAddress( inModule, 'BoardItemWorkBegin' );
614 if not Assigned( BoardItemWorkBegin ) then
615 System.ExitCode := 1;
616 BoardItemWorkEnd := GetProcAddress( inModule, 'BoardItemWorkEnd' );
617 if not Assigned( BoardItemWorkEnd ) then
618 System.ExitCode := 1;
624 // =========================================================================
625 // TBoardItem
\83N
\83\89\83X
\82É
\8aÖ
\82·
\82é
\83C
\83x
\83\93\83g
626 // =========================================================================
628 // *************************************************************************
629 // TBoardItem
\82ª
\90¶
\90¬
\82³
\82ê
\82½
630 // *************************************************************************
631 procedure BoardItemCreate(
637 BoardItemOnCreate( inInstance );
642 // *************************************************************************
643 // TBoardItem
\82ª
\94j
\8aü
\82³
\82ê
\82½
644 // *************************************************************************
645 procedure BoardItemDispose(
651 BoardItemOnDispose( inInstance );
656 // *************************************************************************
657 //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
658 // *************************************************************************
659 function BoardItemOnDownload(
660 inInstance : DWORD //
\83C
\83\93\83X
\83^
\83\93\83X
661 ) : TDownloadState; stdcall; //
\83_
\83E
\83\93\83\8d\81[
\83h
\82ª
\90¬
\8c÷
\82µ
\82½
\82©
\82Ç
\82¤
\82©
664 boardItem : TBoardItem;
669 context := Pointer( BoardItemGetLong( inInstance, bipContext ) );
670 if not Assigned( context ) then
673 if not (TObject( context ) is TBoardItem) then
676 boardItem := TBoardItem( context );
677 if not Assigned( boardItem.OnDownload ) then
680 Result := boardItem.OnDownload;
689 // *************************************************************************
690 //
\83X
\83\8c\97§
\82Ä
\82ð
\8ew
\8e¦
\82³
\82ê
\82½
691 // *************************************************************************
692 function BoardItemOnCreateThread(
693 inInstance : DWORD; // BoardItem
\82Ì
\83C
\83\93\83X
\83^
\83\93\83X
694 inSubject : PChar; //
\83X
\83\8c\83^
\83C
695 inName : PChar; //
\96¼
\91O(
\83n
\83\93\83h
\83\8b)
696 inMail : PChar; //
\83\81\81[
\83\8b\83A
\83h
\83\8c\83X
697 inMessage : PChar //
\96{
\95¶
698 ) : TDownloadState; stdcall; //
\8f\91\82«
\8d\9e\82Ý
\82ª
\90¬
\8c÷
\82µ
\82½
\82©
\82Ç
\82¤
\82©
701 boardItem : TBoardItem;
706 context := Pointer( ThreadItemGetLong( inInstance, tipContext ) );
707 if not Assigned( context ) then
710 if not (TObject( context ) is TBoardItem) then
713 boardItem := TBoardItem( context );
714 if not Assigned( boardItem.OnCreateThread ) then
717 Result := boardItem.OnCreateThread( string( inSubject ), string( inName ), string( inMail ), string( inMessage ) );
726 // *************************************************************************
727 //
\82±
\82Ì
\94Â
\82É
\82¢
\82
\82Â
\82Ì
\83X
\83\8c\82ª
\82 \82é
\82©
\97v
\8b\81\82³
\82ê
\82½
728 // *************************************************************************
729 procedure BoardItemOnEnumThread(
730 inInstance : DWORD; //
\83C
\83\93\83X
\83^
\83\93\83X
731 inCallBack : TBoardItemEnumThreadCallBack //
\95Ô
\8bp
\82·
\82×
\82«
\83R
\81[
\83\8b\83o
\83b
\83N
735 boardItem : TBoardItem;
740 context := Pointer( BoardItemGetLong( inInstance, bipContext ) );
741 if not Assigned( context ) then
744 if not Assigned( inCallBack ) then
747 if not (TObject( context ) is TBoardItem) then
750 boardItem := TBoardItem( context );
751 if not Assigned( boardItem.OnEnumThread ) then
754 boardItem.OnEnumThread( inCallBack );
761 // *************************************************************************
762 //
\83t
\83@
\83C
\83\8b\96¼
\82©
\82ç
\83X
\83\8c\83b
\83h
\82Ì URL
\82ð
\97v
\8b\81\82³
\82ê
\82½
763 // *************************************************************************
764 function BoardItemOnFileName2ThreadURL(
765 inInstance : DWORD; //
\83C
\83\93\83X
\83^
\83\93\83X
766 inFileName : PChar //
\8c³
\82É
\82È
\82é
\83t
\83@
\83C
\83\8b\96¼
770 boardItem : TBoardItem;
775 context := Pointer( BoardItemGetLong( inInstance, bipContext ) );
776 if not Assigned( context ) then
779 if not (TObject( context ) is TBoardItem) then
782 boardItem := TBoardItem( context );
783 if not Assigned( boardItem.OnFileName2ThreadURL ) then
786 Result := CreateResultString( boardItem.OnFileName2ThreadURL( string( inFileName ) ) );
799 BoardItemOnCreateThread,
800 BoardItemOnEnumThread,
801 BoardItemOnFileName2ThreadURL;