vdfsplat / AppSrc / vdfdebug.pkg @ 67
History | View | Annotate | Download (56.5 KB)
1 |
//TH-Header |
---|---|
2 |
//***************************************************************************************** |
3 |
// Copyright (c) 2013 Antwise Solutions |
4 |
// All rights reserved. |
5 |
// |
6 |
// $FileName : cDebuggerEngine |
7 |
// $ProjectName : Splat ! Vdf Debugger |
8 |
// $Authors : Wil van Antwerpen |
9 |
// $Created : 12.14.2013 23:42 |
10 |
// $Type : GPLv2 |
11 |
// |
12 |
// Contents: |
13 |
// Visual DataFlex COM proxy classes generated from vdfdbg.dll |
14 |
// These have then been hand edited to support multiple versions in one |
15 |
// executable. |
16 |
// Otherwise we would have need an executable for each vdf version. |
17 |
// |
18 |
// An alternative approach would have been to use the create function and |
19 |
// class name as variables, but then it would not have been possible to subclass |
20 |
// the debugger engine. |
21 |
// |
22 |
// Please note that the ActiveX components are the property of Data Access |
23 |
// Worldwide and that you will need to have a fully licensed copy of the |
24 |
// development environment installed on your machine for this to work. |
25 |
// |
26 |
// |
27 |
//***************************************************************************************** |
28 |
//TH-RevisionStart |
29 |
//TH-RevisionEnd |
30 |
Use FlexCom20.pkg |
31 |
|
32 |
Define CS_SPLATFATALCAPTION for "Fatal VdfSplat Debug Error" |
33 |
|
34 |
|
35 |
// WindowType property - Tells what kind of variables will be displayed in the window |
36 |
Define OLEdbgVariableWindows for Integer |
37 |
Define OLEDBGVARIABLEWINDOW_LOCAL for 0 |
38 |
Define OLEDBGVARIABLEWINDOW_GLOBAL for 1 |
39 |
|
40 |
// CLSID: |
41 |
// IDebuggerEngine Interface |
42 |
Class cComIDebuggerEngine is a Mixin |
43 |
|
44 |
// Starts debugging the specified program |
45 |
Procedure ComStartProgram String llcmdLine Variant llwebApp Variant llurl |
46 |
Handle hDispatchDriver |
47 |
Get phDispatchDriver to hDispatchDriver |
48 |
Send PrepareParams to hDispatchDriver 3 |
49 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llcmdLine |
50 |
Send DefineParam to hDispatchDriver OLE_VT_VARIANT llwebApp |
51 |
Send DefineParam to hDispatchDriver OLE_VT_VARIANT llurl |
52 |
Send InvokeComMethod to hDispatchDriver 1 OLE_VT_VOID |
53 |
End_Procedure |
54 |
|
55 |
// DF18.1 version of ComStartProgram, we use different name instead of overload as that technique |
56 |
// has been declared obsolete. |
57 |
// |
58 |
// Starts debugging the specified program |
59 |
Procedure ComStartProgram181 String llcmdLine Boolean llnoDebugHeap Variant llwebApp Variant llurl |
60 |
Handle hDispatchDriver |
61 |
Get phDispatchDriver to hDispatchDriver |
62 |
Send PrepareParams to hDispatchDriver 4 |
63 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llcmdLine |
64 |
Send DefineParam to hDispatchDriver OLE_VT_BOOL llnoDebugHeap |
65 |
Send DefineParam to hDispatchDriver OLE_VT_VARIANT llwebApp |
66 |
Send DefineParam to hDispatchDriver OLE_VT_VARIANT llurl |
67 |
Send InvokeComMethod to hDispatchDriver 1 OLE_VT_VOID |
68 |
End_Procedure |
69 |
|
70 |
// Stops current debugging session |
71 |
Procedure ComStopProgram |
72 |
Handle hDispatchDriver |
73 |
Get phDispatchDriver to hDispatchDriver |
74 |
Send InvokeComMethod to hDispatchDriver 2 OLE_VT_VOID |
75 |
End_Procedure |
76 |
|
77 |
// Resumes execution of the debuggee process |
78 |
Procedure ComContinue |
79 |
Handle hDispatchDriver |
80 |
Get phDispatchDriver to hDispatchDriver |
81 |
Send InvokeComMethod to hDispatchDriver 3 OLE_VT_VOID |
82 |
End_Procedure |
83 |
|
84 |
// Steps into the next line of code |
85 |
Procedure ComStepInto |
86 |
Handle hDispatchDriver |
87 |
Get phDispatchDriver to hDispatchDriver |
88 |
Send InvokeComMethod to hDispatchDriver 4 OLE_VT_VOID |
89 |
End_Procedure |
90 |
|
91 |
// Steps over the next line of code |
92 |
Procedure ComStepOver |
93 |
Handle hDispatchDriver |
94 |
Get phDispatchDriver to hDispatchDriver |
95 |
Send InvokeComMethod to hDispatchDriver 5 OLE_VT_VOID |
96 |
End_Procedure |
97 |
|
98 |
// Steps out of the current function call |
99 |
Procedure ComStepOut |
100 |
Handle hDispatchDriver |
101 |
Get phDispatchDriver to hDispatchDriver |
102 |
Send InvokeComMethod to hDispatchDriver 6 OLE_VT_VOID |
103 |
End_Procedure |
104 |
|
105 |
// Breaks execution |
106 |
Procedure ComPause |
107 |
Handle hDispatchDriver |
108 |
Get phDispatchDriver to hDispatchDriver |
109 |
Send InvokeComMethod to hDispatchDriver 7 OLE_VT_VOID |
110 |
End_Procedure |
111 |
|
112 |
// Sets the specified breakpoint |
113 |
Function ComSetBreakPoint String llfile UInteger ByRef llline Returns Boolean |
114 |
Handle hDispatchDriver |
115 |
Boolean retVal |
116 |
Get phDispatchDriver to hDispatchDriver |
117 |
Send PrepareParams to hDispatchDriver 2 |
118 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
119 |
Send DefineParam to hDispatchDriver (OLE_VT_BYREF ior OLE_VT_UI4) llline |
120 |
Get InvokeComMethod of hDispatchDriver 8 OLE_VT_BOOL to retVal |
121 |
Function_Return retVal |
122 |
End_Function |
123 |
|
124 |
// Removes the specified breakpoint |
125 |
Function ComRemoveBreakPoint String llfile UInteger llline Returns Boolean |
126 |
Handle hDispatchDriver |
127 |
Boolean retVal |
128 |
Get phDispatchDriver to hDispatchDriver |
129 |
Send PrepareParams to hDispatchDriver 2 |
130 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
131 |
Send DefineParam to hDispatchDriver OLE_VT_UI4 llline |
132 |
Get InvokeComMethod of hDispatchDriver 9 OLE_VT_BOOL to retVal |
133 |
Function_Return retVal |
134 |
End_Function |
135 |
|
136 |
// Selects the active callstack entry |
137 |
Procedure ComSelectActiveQueueLevel Integer llqueueLevel |
138 |
Handle hDispatchDriver |
139 |
Get phDispatchDriver to hDispatchDriver |
140 |
Send PrepareParams to hDispatchDriver 1 |
141 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llqueueLevel |
142 |
Send InvokeComMethod to hDispatchDriver 10 OLE_VT_VOID |
143 |
End_Procedure |
144 |
|
145 |
// Evaluates the specified expression |
146 |
Function ComEval String llexpr String ByRef llresult Returns Boolean |
147 |
Handle hDispatchDriver |
148 |
Boolean retVal |
149 |
Get phDispatchDriver to hDispatchDriver |
150 |
Send PrepareParams to hDispatchDriver 2 |
151 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llexpr |
152 |
Send DefineParam to hDispatchDriver (OLE_VT_BYREF ior OLE_VT_BSTR) llresult |
153 |
Get InvokeComMethod of hDispatchDriver 11 OLE_VT_BOOL to retVal |
154 |
Function_Return retVal |
155 |
End_Function |
156 |
|
157 |
// Triggers event OnUpdateView |
158 |
Procedure ComUpdateViews |
159 |
Handle hDispatchDriver |
160 |
Get phDispatchDriver to hDispatchDriver |
161 |
Send InvokeComMethod to hDispatchDriver 12 OLE_VT_VOID |
162 |
End_Procedure |
163 |
|
164 |
// Evaluates the specified expression asynchronously |
165 |
Procedure ComAsyncEval OLE_HANDLE llhWndListener Integer llexprID String llexpression |
166 |
Handle hDispatchDriver |
167 |
Get phDispatchDriver to hDispatchDriver |
168 |
Send PrepareParams to hDispatchDriver 3 |
169 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llhWndListener |
170 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llexprID |
171 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llexpression |
172 |
Send InvokeComMethod to hDispatchDriver 13 OLE_VT_VOID |
173 |
End_Procedure |
174 |
|
175 |
// Resumes execution up to the specified line |
176 |
Procedure ComRunToLine String llfile UInteger llline |
177 |
Handle hDispatchDriver |
178 |
Get phDispatchDriver to hDispatchDriver |
179 |
Send PrepareParams to hDispatchDriver 2 |
180 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
181 |
Send DefineParam to hDispatchDriver OLE_VT_UI4 llline |
182 |
Send InvokeComMethod to hDispatchDriver 14 OLE_VT_VOID |
183 |
End_Procedure |
184 |
|
185 |
// Returns the source line from the specified command number |
186 |
Function ComGetSourceLineFromCommand Integer llcmd Integer ByRef llline Returns String |
187 |
Handle hDispatchDriver |
188 |
String retVal |
189 |
Get phDispatchDriver to hDispatchDriver |
190 |
Send PrepareParams to hDispatchDriver 2 |
191 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llcmd |
192 |
Send DefineParam to hDispatchDriver (OLE_VT_BYREF ior OLE_VT_I4) llline |
193 |
Get InvokeComMethod of hDispatchDriver 15 OLE_VT_BSTR to retVal |
194 |
Function_Return retVal |
195 |
End_Function |
196 |
|
197 |
// Returns array of all messages in program |
198 |
Function ComGetAllMessages Returns String[] |
199 |
Handle hDispatchDriver |
200 |
String[] retVal |
201 |
Get phDispatchDriver to hDispatchDriver |
202 |
Get InvokeComMethod of hDispatchDriver 16 (OLE_VT_ARRAY ior OLE_VT_BSTR) to retVal |
203 |
Function_Return retVal |
204 |
End_Function |
205 |
|
206 |
// Returns whether the specified source file is part of the debuggee program |
207 |
Function ComIsValidSourceFile String llfile Returns Boolean |
208 |
Handle hDispatchDriver |
209 |
Boolean retVal |
210 |
Get phDispatchDriver to hDispatchDriver |
211 |
Send PrepareParams to hDispatchDriver 1 |
212 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
213 |
Get InvokeComMethod of hDispatchDriver 17 OLE_VT_BOOL to retVal |
214 |
Function_Return retVal |
215 |
End_Function |
216 |
|
217 |
// Returns the instruction address of the specified source file and line number |
218 |
Function ComGetCommandFromSourceLine String llfile UInteger llline Returns Integer |
219 |
Handle hDispatchDriver |
220 |
Integer retVal |
221 |
Get phDispatchDriver to hDispatchDriver |
222 |
Send PrepareParams to hDispatchDriver 2 |
223 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
224 |
Send DefineParam to hDispatchDriver OLE_VT_UI4 llline |
225 |
Get InvokeComMethod of hDispatchDriver 18 OLE_VT_I4 to retVal |
226 |
Function_Return retVal |
227 |
End_Function |
228 |
|
229 |
// Requests the runtime to reallocate the specified buffer |
230 |
Function ComReallocProgramBuffer Char ByRef llpData Integer llsize Returns Char |
231 |
Handle hDispatchDriver |
232 |
Char retVal |
233 |
Get phDispatchDriver to hDispatchDriver |
234 |
Send PrepareParams to hDispatchDriver 2 |
235 |
Send DefineParam to hDispatchDriver (OLE_VT_BYREF ior OLE_VT_I1) llpData |
236 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llsize |
237 |
Get InvokeComMethod of hDispatchDriver 19 (OLE_VT_BYREF ior OLE_VT_I1) to retVal |
238 |
Function_Return retVal |
239 |
End_Function |
240 |
|
241 |
// Introduced in vdf14.1 |
242 |
// Returns a list of attachable processes |
243 |
Function ComGetAttachableProcesses Returns UInteger[] |
244 |
Handle hDispatchDriver |
245 |
UInteger[] retVal |
246 |
Get phDispatchDriver to hDispatchDriver |
247 |
Get InvokeComMethod of hDispatchDriver 20 (OLE_VT_ARRAY ior OLE_VT_UI4) to retVal |
248 |
Function_Return retVal |
249 |
End_Function |
250 |
|
251 |
// Introduced in vdf14.1 |
252 |
// Attaches and starts debugging the specified process |
253 |
Procedure ComAttachProcess UInteger llpid |
254 |
Handle hDispatchDriver |
255 |
Get phDispatchDriver to hDispatchDriver |
256 |
Send PrepareParams to hDispatchDriver 1 |
257 |
Send DefineParam to hDispatchDriver OLE_VT_UI4 llpid |
258 |
Send InvokeComMethod to hDispatchDriver 21 OLE_VT_VOID |
259 |
End_Procedure |
260 |
|
261 |
// Introduced in vdf15.0 |
262 |
// Sets the specified conditional breakpoint expression |
263 |
Function ComSetBreakPointCondition String llfile UInteger ByRef llline String llexpr Returns Boolean |
264 |
Handle hDispatchDriver |
265 |
Boolean retVal |
266 |
Get phDispatchDriver to hDispatchDriver |
267 |
Send PrepareParams to hDispatchDriver 3 |
268 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
269 |
Send DefineParam to hDispatchDriver (OLE_VT_BYREF ior OLE_VT_UI4) llline |
270 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llexpr |
271 |
Get InvokeComMethod of hDispatchDriver 22 OLE_VT_BOOL to retVal |
272 |
Function_Return retVal |
273 |
End_Function |
274 |
|
275 |
// Introduced in vdf15.0 |
276 |
// Attempts to adjust the current instruction pointer to the specified file and line |
277 |
Function ComSetNextInstruction String llfile UInteger llline Returns Boolean |
278 |
Handle hDispatchDriver |
279 |
Boolean retVal |
280 |
Get phDispatchDriver to hDispatchDriver |
281 |
Send PrepareParams to hDispatchDriver 2 |
282 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llfile |
283 |
Send DefineParam to hDispatchDriver OLE_VT_UI4 llline |
284 |
Get InvokeComMethod of hDispatchDriver 23 OLE_VT_BOOL to retVal |
285 |
Function_Return retVal |
286 |
End_Function |
287 |
|
288 |
End_Class |
289 |
|
290 |
// CLSID: |
291 |
// _IDebuggerEngineEvents Interface |
292 |
Class cCom_IDebuggerEngineEvents is a Mixin |
293 |
|
294 |
// Occurs after program has been successfully initialized |
295 |
{ MethodType=Event } |
296 |
Procedure OnComProgramInit |
297 |
End_Procedure |
298 |
|
299 |
// Occurs after the program exits |
300 |
{ MethodType=Event } |
301 |
Procedure OnComProgramExit |
302 |
End_Procedure |
303 |
|
304 |
// Occurs if there is an error starting the program |
305 |
{ MethodType=Event } |
306 |
Procedure OnComProgramStartupError String llerrorMessage |
307 |
End_Procedure |
308 |
|
309 |
// Occurs if there is an error initializing the program |
310 |
{ MethodType=Event } |
311 |
Procedure OnComProgramInitError String llerrorMessage |
312 |
End_Procedure |
313 |
|
314 |
// Occurs when the program execution is paused |
315 |
{ MethodType=Event } |
316 |
Procedure OnComProgramPaused String llfile UInteger llline Boolean lllimitedBreakMode |
317 |
End_Procedure |
318 |
|
319 |
// Occurs when the program execution resumes |
320 |
{ MethodType=Event } |
321 |
Procedure OnComProgramContinue |
322 |
End_Procedure |
323 |
|
324 |
// Occurs after a change requiring views to be refreshed |
325 |
{ MethodType=Event } |
326 |
Procedure OnComUpdateView String llfile UInteger llline |
327 |
End_Procedure |
328 |
|
329 |
// Occurs when a new message is executed |
330 |
{ MethodType=Event } |
331 |
Procedure OnComNewMessage Integer llbSteppin |
332 |
End_Procedure |
333 |
|
334 |
// Occurs if an unhandled program exception is detected |
335 |
{ MethodType=Event } |
336 |
Procedure OnComUnhandledProgramException String lldescription |
337 |
End_Procedure |
338 |
|
339 |
// Occurs if there is an incoming request for another web app session. You can abandon the current session and switch to the new session or deny the new session and continue debugging the current session |
340 |
{ MethodType=Event } |
341 |
Procedure OnComAcceptWebAppSession Boolean ByRef llacceptNewSession |
342 |
End_Procedure |
343 |
|
344 |
// Occurs if there is a fatal web app error |
345 |
{ MethodType=Event } |
346 |
Procedure OnComWebAppError String lldescription |
347 |
End_Procedure |
348 |
|
349 |
// Occurs when a new webapp event log entry is added |
350 |
{ MethodType=Event } |
351 |
Procedure OnComWebAppLog Integer lleventId String lltext |
352 |
End_Procedure |
353 |
|
354 |
// Introduced in vdf15.0 |
355 |
// Occurs if there was an error evaluating a conditional breakpoint |
356 |
{ MethodType=Event } |
357 |
Procedure OnComBreakPointError String lltext |
358 |
End_Procedure |
359 |
|
360 |
|
361 |
{ Visibility=Private } |
362 |
Procedure RegisterComEvents |
363 |
Integer iRuntimeVersion |
364 |
|
365 |
Get piRuntimeVersion To iRuntimeVersion |
366 |
Send RegisterComEvent 1 msg_OnComProgramInit |
367 |
Send RegisterComEvent 2 msg_OnComProgramExit |
368 |
Send RegisterComEvent 3 msg_OnComProgramStartupError |
369 |
Send RegisterComEvent 4 msg_OnComProgramInitError |
370 |
Send RegisterComEvent 5 msg_OnComProgramPaused |
371 |
Send RegisterComEvent 6 msg_OnComProgramContinue |
372 |
Send RegisterComEvent 7 msg_OnComUpdateView |
373 |
Send RegisterComEvent 8 msg_OnComNewMessage |
374 |
Send RegisterComEvent 9 msg_OnComUnhandledProgramException |
375 |
Send RegisterComEvent 10 msg_OnComAcceptWebAppSession |
376 |
Send RegisterComEvent 11 msg_OnComWebAppError |
377 |
Send RegisterComEvent 12 msg_OnComWebAppLog |
378 |
If (iRuntimeVersion >= 150) Begin |
379 |
Send RegisterComEvent 13 msg_OnComBreakPointError |
380 |
End |
381 |
End_Procedure |
382 |
End_Class |
383 |
|
384 |
// CoClass |
385 |
// ProgID: VDFDebugger.DebuggerEngine.xx.yy |
386 |
// CLSID: |
387 |
// DebuggerEngine Class |
388 |
Class cComCDebuggerEngine is a cComAutomationObject |
389 |
Import_Class_Protocol cComIDebuggerEngine |
390 |
Import_Class_Protocol cCom_IDebuggerEngineEvents |
391 |
|
392 |
Procedure Construct_Object |
393 |
Property Integer piRuntimeVersion 0 |
394 |
|
395 |
Send Construct_Runtime_Object |
396 |
|
397 |
Forward Send Construct_Object |
398 |
|
399 |
Set peAutoCreate to acNoAutoCreate |
400 |
End_Procedure |
401 |
|
402 |
Procedure Construct_Runtime_Object |
403 |
Integer iRuntimeVersion |
404 |
|
405 |
Send DetermineRuntimeVersion |
406 |
Get piRuntimeVersion To iRuntimeVersion |
407 |
If (iRuntimeVersion>0) Begin |
408 |
Case Begin |
409 |
Case (iRuntimeVersion=121) |
410 |
Set psProgID to "{5D1787AA-8784-44C1-9DC9-23691B555BC5}" |
411 |
Set psEventId to "{095A09B6-44D2-47A7-831D-FAC23B90E647}" |
412 |
Case Break |
413 |
Case (iRuntimeVersion=140) |
414 |
Set psProgID to "{C42F9C95-1C4D-4B82-AC23-E2987C133C89}" |
415 |
Set psEventId to "{BACC0261-865D-4461-A4D0-DD1DAAD76DCF}" |
416 |
Case Break |
417 |
Case (iRuntimeVersion=141) |
418 |
Set psProgID to "{D4E8A085-6BCB-401E-8935-53B0BC3DE1F7}" |
419 |
Set psEventId to "{42057C20-ACDD-437A-B2F7-0A5022F1D907}" |
420 |
Case Break |
421 |
Case (iRuntimeVersion=150) |
422 |
Set psProgID to "{B05C6BA2-22E1-4F33-9CC0-1FCF4238C150}" |
423 |
Set psEventId to "{BF31B3B2-D914-4E62-9D37-23723833FF8A}" |
424 |
Case Break |
425 |
Case (iRuntimeVersion=151) |
426 |
Set psProgID to "{D0F02260-D707-4DD7-940E-C35EB389D16B}" |
427 |
Set psEventId to "{9590FEB3-ABD2-4763-AFDB-A218196A9C6F}" |
428 |
Case Break |
429 |
Case (iRuntimeVersion=160) |
430 |
Set psProgID to "{B7ED76CF-D6F8-4528-8275-2F3F792E008B}" |
431 |
Set psEventId to "{0EBB5A76-0143-45A7-884E-0E252A11795E}" |
432 |
Case Break |
433 |
Case (iRuntimeVersion=161) |
434 |
Set psProgID to "{5B894619-D007-4A25-9786-FE0CD2C414BA}" |
435 |
Set psEventId to "{264BB78F-E976-4BD6-A217-8D10D2AF718D}" |
436 |
Case Break |
437 |
Case (iRuntimeVersion=170) |
438 |
Set psProgID to "{06CDD06C-BDCC-4EC7-AC76-6D05677E2B18}" |
439 |
Set psEventId to "{6B877F88-533E-451A-867F-DC19C4384288}" |
440 |
Case Break |
441 |
Case (iRuntimeVersion=171) |
442 |
Set psProgID to "{EC61BA89-1E93-4218-84CD-BF60813C296D}" |
443 |
Set psEventId to "{3E68B693-41EF-4DBB-AF45-0593F5396501}" |
444 |
Case Break |
445 |
Case (iRuntimeVersion=180) |
446 |
Set psProgID to "{BA11DE00-6B72-40D4-AC0D-E5FFAAF0B8CC}" |
447 |
Set psEventId to "{216D2FA6-C7EF-4A89-87BA-8AB5E2D71000}" |
448 |
Case Break |
449 |
Case (iRuntimeVersion=181) |
450 |
Set psProgID to "{171F96C0-5821-4944-A9AD-A181370171B5}" |
451 |
Set psEventId to "{BB17ACB2-A5A0-49EE-AFDE-D47A13D0F8DA}" |
452 |
Case Break |
453 |
Case (iRuntimeVersion=182) |
454 |
Set psProgID to "{2F6ADD84-7CE0-46B3-B3DA-681CC5A95A83}" |
455 |
Set psEventId to "{56C51041-E9CB-4A2D-8FFF-31B0676B2292}" |
456 |
Case Break |
457 |
Case (iRuntimeVersion=190) |
458 |
Set psProgID to "{B947F0F4-13FF-499B-854E-BDE229EF6B0C}" |
459 |
Set psEventId to "{CD4D543E-6821-4F48-BB51-7180EA842021}" |
460 |
Case Break |
461 |
Case (iRuntimeVersion=191) |
462 |
Set psProgID to "{7A3BE09B-46E4-4D34-9450-491696976C76}" |
463 |
Set psEventId to "{67B9146F-8928-4CDD-9032-7CCEF01D7330}" |
464 |
Case Break |
465 |
Case Else |
466 |
Send Stop_Box ("The debug component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
467 |
Abort |
468 |
Case End |
469 |
End |
470 |
Else Begin |
471 |
Send Stop_Box "Could not determine runtime version of passed application." CS_SPLATFATALCAPTION |
472 |
Abort |
473 |
End |
474 |
End_Procedure // Construct_Runtime_Object |
475 |
|
476 |
Procedure DetermineRuntimeVersion |
477 |
End_Procedure // DetermineRuntimeVersion |
478 |
End_Class |
479 |
|
480 |
// CLSID: |
481 |
// ICallStack Interface |
482 |
Class cComICallStack is a Mixin |
483 |
|
484 |
// property MessageColumnWidth |
485 |
{ MethodType=Property DesignTime=False } |
486 |
Function ComMessageColumnWidth Returns Integer |
487 |
Handle hDispatchDriver |
488 |
Integer retVal |
489 |
Get phDispatchDriver to hDispatchDriver |
490 |
Get InvokeComMethod of hDispatchDriver 1 OLE_VT_I4 to retVal |
491 |
Function_Return retVal |
492 |
End_Function |
493 |
|
494 |
// property MessageColumnWidth |
495 |
{ MethodType=Property DesignTime=False } |
496 |
Procedure Set ComMessageColumnWidth Integer value |
497 |
Handle hDispatchDriver |
498 |
Get phDispatchDriver to hDispatchDriver |
499 |
Send PrepareParams to hDispatchDriver 1 |
500 |
Set ComProperty of hDispatchDriver 1 OLE_VT_I4 to value |
501 |
End_Procedure |
502 |
|
503 |
// property ObjectColumnWidth |
504 |
{ MethodType=Property DesignTime=False } |
505 |
Function ComObjectColumnWidth Returns Integer |
506 |
Handle hDispatchDriver |
507 |
Integer retVal |
508 |
Get phDispatchDriver to hDispatchDriver |
509 |
Get InvokeComMethod of hDispatchDriver 2 OLE_VT_I4 to retVal |
510 |
Function_Return retVal |
511 |
End_Function |
512 |
|
513 |
// property ObjectColumnWidth |
514 |
{ MethodType=Property DesignTime=False } |
515 |
Procedure Set ComObjectColumnWidth Integer value |
516 |
Handle hDispatchDriver |
517 |
Get phDispatchDriver to hDispatchDriver |
518 |
Send PrepareParams to hDispatchDriver 1 |
519 |
Set ComProperty of hDispatchDriver 2 OLE_VT_I4 to value |
520 |
End_Procedure |
521 |
End_Class |
522 |
|
523 |
// CLSID: |
524 |
// _ICallStackEvents Interface |
525 |
Class cCom_ICallStackEvents is a Mixin |
526 |
|
527 |
{ Visibility=Private } |
528 |
Procedure RegisterComEvents |
529 |
End_Procedure |
530 |
End_Class |
531 |
|
532 |
// CoClass |
533 |
// ProgID: VDFDebugger.CallStack.xx.yy |
534 |
// CLSID: |
535 |
// CallStack Class |
536 |
Class cComCCallStack is a cComActiveXControl |
537 |
Import_Class_Protocol cComICallStack |
538 |
Import_Class_Protocol cCom_ICallStackEvents |
539 |
|
540 |
Procedure Construct_Object |
541 |
Property Integer piRuntimeVersion 0 |
542 |
|
543 |
Send Construct_Runtime_Object |
544 |
|
545 |
Forward Send Construct_Object |
546 |
|
547 |
Set peAutoCreate to acDeferredAutoCreate |
548 |
End_Procedure |
549 |
|
550 |
Procedure Construct_Runtime_Object |
551 |
Integer iRuntimeVersion |
552 |
|
553 |
Send DetermineRuntimeVersion |
554 |
Get piRuntimeVersion To iRuntimeVersion |
555 |
If (iRuntimeVersion>0) Begin |
556 |
Case Begin |
557 |
Case (iRuntimeVersion=121) |
558 |
Set psProgID to "{A03ABC66-F7B4-431D-97BC-50A14EDF6801}" |
559 |
Set psEventId to "{69F6877B-5D55-4B53-B800-31F8D70A5865}" |
560 |
Case Break |
561 |
Case (iRuntimeVersion=140) |
562 |
Set psProgID to "{6DF90F7D-B29C-4753-9D5A-22E1F68D8AAB}" |
563 |
Set psEventId to "{A1BCC09D-F31D-4210-8061-B9F15300E981}" |
564 |
Case Break |
565 |
Case (iRuntimeVersion=141) |
566 |
Set psProgID to "{23158C9C-11D0-4235-A17A-E45BDD3D7B5B}" |
567 |
Set psEventId to "{3D452939-8654-4D7E-A153-080155DD13BF}" |
568 |
Case Break |
569 |
Case (iRuntimeVersion=150) |
570 |
Set psProgID to "{316ACE93-D566-4D98-A1DE-8C5B8D049C5F}" |
571 |
Set psEventId to "{B952BFAC-39CE-4FF5-B3A5-96E7964DBEAF}" |
572 |
Case Break |
573 |
Case (iRuntimeVersion=151) |
574 |
Set psProgID to "{27A64009-1EA1-4D8A-9CDF-397E2623A789}" |
575 |
Set psEventId to "{711066C1-D52F-4182-8CD6-273501AE411A}" |
576 |
Case Break |
577 |
Case (iRuntimeVersion=160) |
578 |
Set psProgID to "{A24F04F5-18D2-4D8D-B47C-53BCA01CDFC2}" |
579 |
Set psEventId to "{4B9989B2-3EC1-4388-95CD-D1C7129179B6}" |
580 |
Case Break |
581 |
Case (iRuntimeVersion=161) |
582 |
Set psProgID to "{085F69A7-64C9-4AD8-85AF-3ACD5D7223AC}" |
583 |
Set psEventId to "{CD23CF24-8977-4501-B46E-CE3D2E351EFE}" |
584 |
Case Break |
585 |
Case (iRuntimeVersion=170) |
586 |
Set psProgID to "{0FCE23F5-C38D-456F-9B7A-7DD0CCF0BAA3}" |
587 |
Set psEventId to "{55801305-66DE-4D00-B08D-144214A11217}" |
588 |
Case Break |
589 |
Case (iRuntimeVersion=171) |
590 |
Set psProgID to "{84421400-9D1E-4BCF-8FE3-B7A2BB7DF429}" |
591 |
Set psEventId to "{D0B6752E-0D47-43E4-A437-9C56C77B03DA}" |
592 |
Case Break |
593 |
Case (iRuntimeVersion=180) |
594 |
Set psProgID to "{66B11369-FA28-4344-BAA2-F595500C2B4E}" |
595 |
Set psEventId to "{46832FCB-926C-4B33-A0F7-F3F109D432A0}" |
596 |
Case Break |
597 |
Case (iRuntimeVersion=181) |
598 |
Set psProgID to "{F29634D8-9A2A-4A9B-8DBA-C68949A25DAF}" |
599 |
Set psEventId to "{DC45918E-F658-4D97-BC84-77314530643B}" |
600 |
Case Break |
601 |
Case (iRuntimeVersion=182) |
602 |
Set psProgID to "{9C6ACD13-4F6F-4D36-8D04-8AC916983087}" |
603 |
Set psEventId to "{40A518EF-465F-47A3-86AF-F3D9E62BA493}" |
604 |
Case Break |
605 |
Case (iRuntimeVersion=190) |
606 |
Set psProgID to "{E2568C04-384E-47CF-BC94-0EFA5E2F982B}" |
607 |
Set psEventId to "{690FA63D-01B7-439E-89F7-69656C52656E}" |
608 |
Case Break |
609 |
Case (iRuntimeVersion=191) |
610 |
Set psProgID to "{003AA2E5-C76C-40F7-8741-3B705E57051F}" |
611 |
Set psEventId to "{AFBE68CB-74F4-4FDA-8EC0-A80075A095C2}" |
612 |
Case Break |
613 |
Case Else |
614 |
Send Stop_Box ("The callstack component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
615 |
Abort |
616 |
Case End |
617 |
End |
618 |
Else Begin |
619 |
Send Stop_Box "Could not determine runtime version of passed application for callstack." CS_SPLATFATALCAPTION |
620 |
Abort |
621 |
End |
622 |
End_Procedure // Construct_Runtime_Object |
623 |
|
624 |
Procedure DetermineRuntimeVersion |
625 |
End_Procedure // DetermineRuntimeVersion |
626 |
|
627 |
End_Class |
628 |
|
629 |
// CLSID: {149B7FCC-117B-4407-AC2B-67338349D701} |
630 |
// IMessageTrace Interface |
631 |
Class cComIMessageTrace is a Mixin |
632 |
|
633 |
// property bTraceOn - controles if tracing is turned on or off |
634 |
{ MethodType=Property DesignTime=False } |
635 |
Function ComBTraceOn Returns Integer |
636 |
Handle hDispatchDriver |
637 |
Integer retVal |
638 |
Get phDispatchDriver to hDispatchDriver |
639 |
Get InvokeComMethod of hDispatchDriver 1 OLE_VT_I4 to retVal |
640 |
Function_Return retVal |
641 |
End_Function |
642 |
|
643 |
// property bTraceOn - controles if tracing is turned on or off |
644 |
{ MethodType=Property DesignTime=False } |
645 |
Procedure Set ComBTraceOn Integer value |
646 |
Handle hDispatchDriver |
647 |
Get phDispatchDriver to hDispatchDriver |
648 |
Send PrepareParams to hDispatchDriver 1 |
649 |
Set ComProperty of hDispatchDriver 1 OLE_VT_I4 to value |
650 |
End_Procedure |
651 |
|
652 |
// method LoadFilters - provide array of message names that are supposed to be filtered |
653 |
Procedure ComLoadFilters String[] llsaFilters |
654 |
Handle hDispatchDriver |
655 |
Get phDispatchDriver to hDispatchDriver |
656 |
Send PrepareParams to hDispatchDriver 1 |
657 |
Send DefineParam to hDispatchDriver (OLE_VT_ARRAY ior OLE_VT_BSTR) llsaFilters |
658 |
Send InvokeComMethod to hDispatchDriver 2 OLE_VT_VOID |
659 |
End_Procedure |
660 |
|
661 |
// method ClearFilters - dont apply any filters |
662 |
Procedure ComClearFilters |
663 |
Handle hDispatchDriver |
664 |
Get phDispatchDriver to hDispatchDriver |
665 |
Send InvokeComMethod to hDispatchDriver 3 OLE_VT_VOID |
666 |
End_Procedure |
667 |
|
668 |
// property sLogFileName - name of the file where traced messages will be stored |
669 |
{ MethodType=Property DesignTime=False } |
670 |
Function ComSLogFileName Returns String |
671 |
Handle hDispatchDriver |
672 |
String retVal |
673 |
Get phDispatchDriver to hDispatchDriver |
674 |
Get InvokeComMethod of hDispatchDriver 4 OLE_VT_BSTR to retVal |
675 |
Function_Return retVal |
676 |
End_Function |
677 |
|
678 |
// property sLogFileName - name of the file where traced messages will be stored |
679 |
{ MethodType=Property DesignTime=False } |
680 |
Procedure Set ComSLogFileName String value |
681 |
Handle hDispatchDriver |
682 |
Get phDispatchDriver to hDispatchDriver |
683 |
Send PrepareParams to hDispatchDriver 1 |
684 |
Set ComProperty of hDispatchDriver 4 OLE_VT_BSTR to value |
685 |
End_Procedure |
686 |
|
687 |
// method ClearTrace - clears tree. It works only when tracing is currently off |
688 |
Procedure ComClearTrace |
689 |
Handle hDispatchDriver |
690 |
Get phDispatchDriver to hDispatchDriver |
691 |
Send InvokeComMethod to hDispatchDriver 7 OLE_VT_VOID |
692 |
End_Procedure |
693 |
|
694 |
// method AddFilter - add one message to filter array |
695 |
Procedure ComAddFilter String llsFilter |
696 |
Handle hDispatchDriver |
697 |
Get phDispatchDriver to hDispatchDriver |
698 |
Send PrepareParams to hDispatchDriver 1 |
699 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llsFilter |
700 |
Send InvokeComMethod to hDispatchDriver 8 OLE_VT_VOID |
701 |
End_Procedure |
702 |
|
703 |
|
704 |
// Introduced in vdf14.0 |
705 |
// method SaveTracer - Saves content of a tree. Parameter controles if children of unexpanded nodes should be processed too |
706 |
Procedure ComSaveTracer Integer llbAsIs |
707 |
Handle hDispatchDriver |
708 |
Get phDispatchDriver to hDispatchDriver |
709 |
Send PrepareParams to hDispatchDriver 1 |
710 |
Send DefineParam to hDispatchDriver OLE_VT_I4 llbAsIs |
711 |
Send InvokeComMethod to hDispatchDriver 9 OLE_VT_VOID |
712 |
End_Procedure |
713 |
|
714 |
End_Class |
715 |
|
716 |
// CLSID: {768B3472-A53F-4969-A250-4AB0756FDB5F} |
717 |
// _IMessageTraceEvents Interface |
718 |
Class cCom_IMessageTraceEvents is a Mixin |
719 |
|
720 |
// method OnMessageClicked - fired when user clicked node in a message trace tree |
721 |
{ MethodType=Event } |
722 |
Procedure OnComMessageClicked UInteger llcommandNo |
723 |
End_Procedure |
724 |
|
725 |
// method OnAddMsg2Filter - when user selected context menu for the add 2 filter message option |
726 |
{ MethodType=Event } |
727 |
Procedure OnComAddMsg2Filter String llsMessageName |
728 |
End_Procedure |
729 |
|
730 |
// method OnFilterOptions - fired when user wants to bring dialog for defining message filters |
731 |
{ MethodType=Event } |
732 |
Procedure OnComFilterOptions |
733 |
End_Procedure |
734 |
|
735 |
// Introduced in vdf14.0 |
736 |
// method OnContextMenu - fired when user right clicked to bring up context menu |
737 |
{ MethodType=Event } |
738 |
Procedure OnComContextMenu String llsMessageName UInteger llpoint |
739 |
End_Procedure |
740 |
|
741 |
|
742 |
{ Visibility=Private } |
743 |
Procedure RegisterComEvents |
744 |
Integer iRuntimeVersion |
745 |
|
746 |
Get piRuntimeVersion To iRuntimeVersion |
747 |
Send RegisterComEvent 1 msg_OnComMessageClicked |
748 |
Send RegisterComEvent 2 msg_OnComAddMsg2Filter |
749 |
Send RegisterComEvent 3 msg_OnComFilterOptions |
750 |
If (iRuntimeVersion >= 140) Begin |
751 |
Send RegisterComEvent 4 msg_OnComContextMenu |
752 |
End |
753 |
End_Procedure |
754 |
End_Class |
755 |
|
756 |
// CoClass |
757 |
// ProgID: vdfdbg.MessageTrace.12.1 |
758 |
// CLSID: {BDC0465B-AA4A-460B-81FC-1D080CAF697B} |
759 |
// MessageTrace Class { CLSID="{BDC0465B-AA4A-460B-81FC-1D080CAF697B}" } |
760 |
Class cComCMessageTrace is a cComActiveXControl |
761 |
Import_Class_Protocol cComIMessageTrace |
762 |
Import_Class_Protocol cCom_IMessageTraceEvents |
763 |
|
764 |
Procedure Construct_Object |
765 |
Property Integer piRuntimeVersion 0 |
766 |
|
767 |
Send Construct_Runtime_Object |
768 |
|
769 |
Forward Send Construct_Object |
770 |
|
771 |
Set peAutoCreate to acDeferredAutoCreate |
772 |
End_Procedure |
773 |
|
774 |
|
775 |
Procedure Construct_Runtime_Object |
776 |
Integer iRuntimeVersion |
777 |
|
778 |
Send DetermineRuntimeVersion |
779 |
Get piRuntimeVersion To iRuntimeVersion |
780 |
If (iRuntimeVersion>0) Begin |
781 |
Case Begin |
782 |
Case (iRuntimeVersion=121) |
783 |
Set psProgID to "{BDC0465B-AA4A-460B-81FC-1D080CAF697B}" |
784 |
Set psEventId to "{768B3472-A53F-4969-A250-4AB0756FDB5F}" |
785 |
Case Break |
786 |
Case (iRuntimeVersion=140) |
787 |
Set psProgID to "{59CD8C8A-AF59-4F30-A4AC-7F70EACBDBD3}" |
788 |
Set psEventId to "{FC3691BE-70F8-4858-AD54-752B836B0864}" |
789 |
Case Break |
790 |
Case (iRuntimeVersion=141) |
791 |
Set psProgID to "{F145CCCD-379A-42F1-B87B-3549E63A29BE}" |
792 |
Set psEventId to "{4E40C6A3-2221-4548-8CBE-95572863C91A}" |
793 |
Case Break |
794 |
Case (iRuntimeVersion=150) |
795 |
Set psProgID to "{A485BFAE-42C9-4CEC-93BC-4C5B697588C0}" |
796 |
Set psEventId to "{DC4E3B27-ACB9-4C09-9F55-971235949335}" |
797 |
Case Break |
798 |
Case (iRuntimeVersion=151) |
799 |
Set psProgID to "{990C4CA5-8F9E-4F8B-8CCB-036C1DF45B0E}" |
800 |
Set psEventId to "{A1E70110-2B34-4E2B-8499-CECB0A6C1034}" |
801 |
Case Break |
802 |
Case (iRuntimeVersion=160) |
803 |
Set psProgID to "{70EEB655-0A2D-4817-B494-05090CC2EB38}" |
804 |
Set psEventId to "{F8207FD8-C7DD-4F04-B5FA-4EDF6F050045}" |
805 |
Case Break |
806 |
Case (iRuntimeVersion=161) |
807 |
Set psProgID to "{B44EF827-949F-4B18-8AA9-09333D8C6795}" |
808 |
Set psEventId to "{83B6388A-4171-4DAF-84C7-AED86BAF1FDD}" |
809 |
Case Break |
810 |
Case (iRuntimeVersion=170) |
811 |
Set psProgID to "{CA71995D-FBBD-4B2C-AB22-D4F930F38A73}" |
812 |
Set psEventId to "{13DAD475-F098-4998-9458-5D55409E2FF3}" |
813 |
Case Break |
814 |
Case (iRuntimeVersion=171) |
815 |
Set psProgID to "{96D1BE93-C668-4ED2-A019-C8A8038BBC6F}" |
816 |
Set psEventId to "{FEC2001F-C38C-4B82-B50A-27DF170E80F5}" |
817 |
Case Break |
818 |
Case (iRuntimeVersion=180) |
819 |
Set psProgID to "{E1ECE87A-2D84-4992-810B-FE774EC06821}" |
820 |
Set psEventId to "{2FDB7CED-1C53-4777-915F-57AAE38D9448}" |
821 |
Case Break |
822 |
Case (iRuntimeVersion=181) |
823 |
Set psProgID to "{4EE6A8B2-B87A-45D5-864A-1DB75DC3E256}" |
824 |
Set psEventId to "{B7123F3C-6795-4B9B-9FEB-32E444B92841}" |
825 |
Case Break |
826 |
Case (iRuntimeVersion=182) |
827 |
Set psProgID to "{3D6DC1D2-F6D1-4720-9B04-562A4849FF4B}" |
828 |
Set psEventId to "{F356E55F-B70A-4C5D-BDAB-1FD06C22D58D}" |
829 |
Case Break |
830 |
Case (iRuntimeVersion=190) |
831 |
Set psProgID to "{2763EF43-1793-4737-B732-27D983821342}" |
832 |
Set psEventId to "{0E4DFEAB-36A9-4C67-BD0F-82D1D50ABA11}" |
833 |
Case Break |
834 |
Case (iRuntimeVersion=191) |
835 |
Set psProgID to "{DBAF5091-EF4D-487F-8A5B-E46C82B66E95}" |
836 |
Set psEventId to "{49D5E89A-AC2B-4F25-A775-80A8E7409BA0}" |
837 |
Case Break |
838 |
Case Else |
839 |
Send Stop_Box ("The message trace component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
840 |
Abort |
841 |
Case End |
842 |
End |
843 |
Else Begin |
844 |
Send Stop_Box "Could not determine runtime version of passed application for message trace." CS_SPLATFATALCAPTION |
845 |
Abort |
846 |
End |
847 |
End_Procedure // Construct_Runtime_Object |
848 |
|
849 |
Procedure DetermineRuntimeVersion |
850 |
End_Procedure // DetermineRuntimeVersion |
851 |
|
852 |
End_Class |
853 |
|
854 |
// CLSID: {ED3CE9E1-32A8-4BE6-82E4-054939FD335A} |
855 |
// ITablesWindow Interface |
856 |
Class cComITablesWindow is a Mixin |
857 |
|
858 |
// property ColumnWidth |
859 |
{ MethodType=Property DesignTime=False } |
860 |
Function ComColumnWidth Integer lllColumnIndex Returns Integer |
861 |
Handle hDispatchDriver |
862 |
Integer retVal |
863 |
Get phDispatchDriver to hDispatchDriver |
864 |
Send PrepareParams to hDispatchDriver 1 |
865 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
866 |
Get InvokeComMethod of hDispatchDriver 1 OLE_VT_I4 to retVal |
867 |
Function_Return retVal |
868 |
End_Function |
869 |
|
870 |
// property ColumnWidth |
871 |
{ MethodType=Property DesignTime=False } |
872 |
Procedure Set ComColumnWidth Integer lllColumnIndex Integer value |
873 |
Handle hDispatchDriver |
874 |
Get phDispatchDriver to hDispatchDriver |
875 |
Send PrepareParams to hDispatchDriver 2 |
876 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
877 |
Set ComProperty of hDispatchDriver 1 OLE_VT_I4 to value |
878 |
End_Procedure |
879 |
|
880 |
|
881 |
// Introduced in DF18.1 |
882 |
// method CopyDataValueToClipboard |
883 |
Procedure ComCopyDataValueToClipboard |
884 |
Handle hDispatchDriver |
885 |
Get phDispatchDriver to hDispatchDriver |
886 |
Send InvokeComMethod to hDispatchDriver 2 OLE_VT_VOID |
887 |
End_Procedure |
888 |
|
889 |
End_Class |
890 |
|
891 |
// CLSID: {118331A8-61E6-4F82-B802-F19E42D63762} |
892 |
// _ITablesWindowEvents Interface |
893 |
Class cCom_ITablesWindowEvents is a Mixin |
894 |
|
895 |
// method OnCmdAddWatch - fired when user selects add to watch from popup menu |
896 |
{ MethodType=Event } |
897 |
Procedure OnComCmdAddWatch String llsExpression |
898 |
End_Procedure |
899 |
|
900 |
// Introduced in vdf14.0 |
901 |
// method OnContextMenu - fired when user right clicked to bring up context menu |
902 |
{ MethodType=Event } |
903 |
Procedure OnComContextMenu String llsMessageName UInteger llpoint |
904 |
End_Procedure |
905 |
|
906 |
|
907 |
{ Visibility=Private } |
908 |
Procedure RegisterComEvents |
909 |
Integer iRuntimeVersion |
910 |
|
911 |
Get piRuntimeVersion To iRuntimeVersion |
912 |
Send RegisterComEvent 1 msg_OnComCmdAddWatch |
913 |
If (iRuntimeVersion >= 140) Begin |
914 |
Send RegisterComEvent 2 msg_OnComContextMenu |
915 |
End |
916 |
End_Procedure |
917 |
End_Class |
918 |
|
919 |
// CoClass |
920 |
// ProgID: vdfdbg.TablesWindow.cc.aa |
921 |
// CLSID: |
922 |
// TablesWindow Class |
923 |
Class cComCTablesWindow is a cComActiveXControl |
924 |
Import_Class_Protocol cComITablesWindow |
925 |
Import_Class_Protocol cCom_ITablesWindowEvents |
926 |
|
927 |
Procedure Construct_Object |
928 |
Property Integer piRuntimeVersion 0 |
929 |
|
930 |
Send Construct_Runtime_Object |
931 |
|
932 |
Forward Send Construct_Object |
933 |
|
934 |
Set peAutoCreate to acDeferredAutoCreate |
935 |
End_Procedure |
936 |
|
937 |
|
938 |
Procedure Construct_Runtime_Object |
939 |
Integer iRuntimeVersion |
940 |
|
941 |
Send DetermineRuntimeVersion |
942 |
Get piRuntimeVersion To iRuntimeVersion |
943 |
If (iRuntimeVersion>0) Begin |
944 |
Case Begin |
945 |
Case (iRuntimeVersion=121) |
946 |
Set psProgID to "{35C803D2-2899-4F13-9456-5C7F5848FBCF}" |
947 |
Set psEventId to "{118331A8-61E6-4F82-B802-F19E42D63762}" |
948 |
Case Break |
949 |
Case (iRuntimeVersion=140) |
950 |
Set psProgID to "{91CA7649-43B0-4F3E-92B3-BADD8A884447}" |
951 |
Set psEventId to "{F288F96A-8923-4E8F-B5CC-0AB160053C07}" |
952 |
Case Break |
953 |
Case (iRuntimeVersion=141) |
954 |
Set psProgID to "{CA06A82B-74EA-40B8-A5A4-69E8A2CA3764}" |
955 |
Set psEventId to "{CAD0B222-D2C6-4F4C-A592-04DCC9D30D0D}" |
956 |
Case Break |
957 |
Case (iRuntimeVersion=150) |
958 |
Set psProgID to "{07E109DA-BF00-41FF-9D21-96360E0608E4}" |
959 |
Set psEventId to "{58078986-055B-4901-AFF0-B55BEFA4B008}" |
960 |
Case Break |
961 |
Case (iRuntimeVersion=151) |
962 |
Set psProgID to "{9450B22B-01C2-4AE2-95DC-A8AF3FD979A1}" |
963 |
Set psEventId to "{4DC20661-26A4-4AC2-9908-BB2A13E002D3}" |
964 |
Case Break |
965 |
Case (iRuntimeVersion=160) |
966 |
Set psProgID to "{4CFBF226-218B-4AE9-8874-CBE5506D3EA5}" |
967 |
Set psEventId to "{7C238927-0A96-46B9-B9F9-A8824B9E93E3}" |
968 |
Case Break |
969 |
Case (iRuntimeVersion=161) |
970 |
Set psProgID to "{77D5AA47-2305-42D2-A726-5973D4B394C6}" |
971 |
Set psEventId to "{17B95A0E-4AA1-4C8A-8E0E-9DE56B1C9E17}" |
972 |
Case Break |
973 |
Case (iRuntimeVersion=170) |
974 |
Set psProgID to "{E41C20AC-C9F0-4BB0-8612-FBB0AC620781}" |
975 |
Set psEventId to "{F47F3B85-A94A-4510-950E-AD4B5F25C4B9}" |
976 |
Case Break |
977 |
Case (iRuntimeVersion=171) |
978 |
Set psProgID to "{F92169DF-8131-4FF6-B247-FAD053B3460E}" |
979 |
Set psEventId to "{9C300088-C7E3-40F0-BF54-65DDFC1A81B5}" |
980 |
Case Break |
981 |
Case (iRuntimeVersion=180) |
982 |
Set psProgID to "{A2D34452-84FF-4F22-9215-3F9D9660EAD1}" |
983 |
Set psEventId to "{CD7F9D4A-09B6-4FD1-8B52-A331489257F4}" |
984 |
Case Break |
985 |
Case (iRuntimeVersion=181) |
986 |
Set psProgID to "{8DD5EC8B-C787-4B99-A2F7-F35C66A5422F}" |
987 |
Set psEventId to "{29E04458-C4CB-4B04-BBAE-38452B0039E2}" |
988 |
Case Break |
989 |
Case (iRuntimeVersion=182) |
990 |
Set psProgID to "{05AA305A-1698-47A5-8A61-0DFB349813BF}" |
991 |
Set psEventId to "{503A436C-8E9D-454D-8351-8A811CEE6A5C}" |
992 |
Case Break |
993 |
Case (iRuntimeVersion=190) |
994 |
Set psProgID to "{7B990C47-0CC6-4F4B-A6C4-1A4644E3804E}" |
995 |
Set psEventId to "{BCDD8AEC-97C6-4705-9FD3-40CD3274B4EE}" |
996 |
Case Break |
997 |
Case (iRuntimeVersion=191) |
998 |
Set psProgID to "{B2B3B951-FA39-4409-9D90-0F235DF692F8}" |
999 |
Set psEventId to "{597EDE36-FEE8-4021-B4E7-086957C44F0B}" |
1000 |
Case Break |
1001 |
Case Else |
1002 |
Send Stop_Box ("The debug tables component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
1003 |
Abort |
1004 |
Case End |
1005 |
End |
1006 |
Else Begin |
1007 |
Send Stop_Box "Could not determine runtime version of passed application for debug tables." CS_SPLATFATALCAPTION |
1008 |
Abort |
1009 |
End |
1010 |
End_Procedure // Construct_Runtime_Object |
1011 |
|
1012 |
Procedure DetermineRuntimeVersion |
1013 |
End_Procedure // DetermineRuntimeVersion |
1014 |
|
1015 |
End_Class |
1016 |
|
1017 |
// CLSID: {340DCA34-E155-45F4-96A5-25A10E191919} |
1018 |
// IVariablesWindow Interface |
1019 |
Class cComIVariablesWindow is a Mixin |
1020 |
|
1021 |
// property WindowType (set 0 for local variables, and 1 for globals) |
1022 |
{ MethodType=Property DesignTime=False } |
1023 |
Function ComWindowType Returns OLEdbgVariableWindows |
1024 |
Handle hDispatchDriver |
1025 |
OLEdbgVariableWindows retVal |
1026 |
Get phDispatchDriver to hDispatchDriver |
1027 |
Get InvokeComMethod of hDispatchDriver 1 OLE_VT_I4 to retVal |
1028 |
Function_Return retVal |
1029 |
End_Function |
1030 |
|
1031 |
// property WindowType (set 0 for local variables, and 1 for globals) |
1032 |
{ MethodType=Property DesignTime=False } |
1033 |
Procedure Set ComWindowType OLEdbgVariableWindows value |
1034 |
Handle hDispatchDriver |
1035 |
Get phDispatchDriver to hDispatchDriver |
1036 |
Send PrepareParams to hDispatchDriver 1 |
1037 |
Set ComProperty of hDispatchDriver 1 OLE_VT_I4 to value |
1038 |
End_Procedure |
1039 |
|
1040 |
// property ColumnWidth |
1041 |
{ MethodType=Property DesignTime=False } |
1042 |
Function ComColumnWidth Integer lllColumnIndex Returns Integer |
1043 |
Handle hDispatchDriver |
1044 |
Integer retVal |
1045 |
Get phDispatchDriver to hDispatchDriver |
1046 |
Send PrepareParams to hDispatchDriver 1 |
1047 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
1048 |
Get InvokeComMethod of hDispatchDriver 2 OLE_VT_I4 to retVal |
1049 |
Function_Return retVal |
1050 |
End_Function |
1051 |
|
1052 |
// property ColumnWidth |
1053 |
{ MethodType=Property DesignTime=False } |
1054 |
Procedure Set ComColumnWidth Integer lllColumnIndex Integer value |
1055 |
Handle hDispatchDriver |
1056 |
Get phDispatchDriver to hDispatchDriver |
1057 |
Send PrepareParams to hDispatchDriver 2 |
1058 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
1059 |
Set ComProperty of hDispatchDriver 2 OLE_VT_I4 to value |
1060 |
End_Procedure |
1061 |
|
1062 |
|
1063 |
// Introduced in vdf15.0 |
1064 |
// method ToggleSelectionViewAsObject |
1065 |
Procedure ComToggleSelectionViewAsObject |
1066 |
Handle hDispatchDriver |
1067 |
Get phDispatchDriver to hDispatchDriver |
1068 |
Send InvokeComMethod to hDispatchDriver 3 OLE_VT_VOID |
1069 |
End_Procedure |
1070 |
|
1071 |
// Introduced in vdf15.0 |
1072 |
// method CanToggleSelectionViewAsObject |
1073 |
Function ComCanToggleSelectionViewAsObject Returns Boolean |
1074 |
Handle hDispatchDriver |
1075 |
Boolean retVal |
1076 |
Get phDispatchDriver to hDispatchDriver |
1077 |
Get InvokeComMethod of hDispatchDriver 4 OLE_VT_BOOL to retVal |
1078 |
Function_Return retVal |
1079 |
End_Function |
1080 |
|
1081 |
// Introduced in vdf15.0 |
1082 |
// method IsSelectionViewAsObject |
1083 |
Function ComIsSelectionViewAsObject Returns Boolean |
1084 |
Handle hDispatchDriver |
1085 |
Boolean retVal |
1086 |
Get phDispatchDriver to hDispatchDriver |
1087 |
Get InvokeComMethod of hDispatchDriver 5 OLE_VT_BOOL to retVal |
1088 |
Function_Return retVal |
1089 |
End_Function |
1090 |
|
1091 |
// Introduced in DF18.1 |
1092 |
// method CopyDataValueToClipboard |
1093 |
Procedure ComCopyDataValueToClipboard |
1094 |
Handle hDispatchDriver |
1095 |
Get phDispatchDriver to hDispatchDriver |
1096 |
Send InvokeComMethod to hDispatchDriver 6 OLE_VT_VOID |
1097 |
End_Procedure |
1098 |
|
1099 |
// Introduced in DF18.1 |
1100 |
// method CanCopyDataValue |
1101 |
Function ComCanCopyDataValue Returns Boolean |
1102 |
Handle hDispatchDriver |
1103 |
Boolean retVal |
1104 |
Get phDispatchDriver to hDispatchDriver |
1105 |
Get InvokeComMethod of hDispatchDriver 7 OLE_VT_BOOL to retVal |
1106 |
Function_Return retVal |
1107 |
End_Function |
1108 |
|
1109 |
|
1110 |
End_Class |
1111 |
|
1112 |
// CLSID: {E1CA1311-93EA-4A32-AD25-B623F09BA771} |
1113 |
// _IVariablesWindowEvents Interface |
1114 |
Class cCom_IVariablesWindowEvents is a Mixin |
1115 |
|
1116 |
// method OnCmdAddWatch - fired when user selects add to watch from popup menu |
1117 |
{ MethodType=Event } |
1118 |
Procedure OnComCmdAddWatch String llsExpression |
1119 |
End_Procedure |
1120 |
|
1121 |
// Introduced in vdf14.0 |
1122 |
// method OnContextMenu - fired when user right clicked to bring up context menu |
1123 |
{ MethodType=Event } |
1124 |
Procedure OnComContextMenu String llsMessageName UInteger llpoint |
1125 |
End_Procedure |
1126 |
|
1127 |
{ Visibility=Private } |
1128 |
Procedure RegisterComEvents |
1129 |
Integer iRuntimeVersion |
1130 |
|
1131 |
Get piRuntimeVersion To iRuntimeVersion |
1132 |
Send RegisterComEvent 1 msg_OnComCmdAddWatch |
1133 |
If (iRuntimeVersion >= 140) Begin |
1134 |
Send RegisterComEvent 2 msg_OnComContextMenu |
1135 |
End |
1136 |
End_Procedure |
1137 |
End_Class |
1138 |
|
1139 |
// CoClass |
1140 |
// ProgID: vdfdbg.VariablesWindow.xx.yy |
1141 |
// CLSID: |
1142 |
// VariablesWindow Class |
1143 |
Class cComCVariablesWindow is a cComActiveXControl |
1144 |
Import_Class_Protocol cComIVariablesWindow |
1145 |
Import_Class_Protocol cCom_IVariablesWindowEvents |
1146 |
|
1147 |
Procedure Construct_Object |
1148 |
Property Integer piRuntimeVersion 0 |
1149 |
|
1150 |
Send Construct_Runtime_Object |
1151 |
|
1152 |
Forward Send Construct_Object |
1153 |
|
1154 |
Set peAutoCreate to acDeferredAutoCreate |
1155 |
End_Procedure |
1156 |
|
1157 |
|
1158 |
Procedure Construct_Runtime_Object |
1159 |
Integer iRuntimeVersion |
1160 |
|
1161 |
Send DetermineRuntimeVersion |
1162 |
Get piRuntimeVersion To iRuntimeVersion |
1163 |
If (iRuntimeVersion>0) Begin |
1164 |
Case Begin |
1165 |
Case (iRuntimeVersion=121) |
1166 |
Set psProgID to "{3DCB562D-47E1-4630-B494-DAA84D173F51}" |
1167 |
Set psEventId to "{E1CA1311-93EA-4A32-AD25-B623F09BA771}" |
1168 |
Case Break |
1169 |
Case (iRuntimeVersion=140) |
1170 |
Set psProgID to "{FC62D35A-D0A9-4BE2-9C7B-699892657275}" |
1171 |
Set psEventId to "{64752F65-F0EA-4E39-A934-A826B94483A5}" |
1172 |
Case Break |
1173 |
Case (iRuntimeVersion=141) |
1174 |
Set psProgID to "{BEB2FE78-D0E8-4406-A92B-E410638288AD}" |
1175 |
Set psEventId to "{913F4BDD-10DE-4923-8945-030CA5B48649}" |
1176 |
Case Break |
1177 |
Case (iRuntimeVersion=150) |
1178 |
Set psProgID to "{7099EAFD-4230-4C37-B547-D9E03EE8BDF6}" |
1179 |
Set psEventId to "{A61BC600-3025-4E33-A263-A34AA2C68249}" |
1180 |
Case Break |
1181 |
Case (iRuntimeVersion=151) |
1182 |
Set psProgID to "{4E23F1D7-28AE-4F8C-8ADE-BFA168603003}" |
1183 |
Set psEventId to "{9BA3385E-3382-45DE-9879-855F01A0E0C9}" |
1184 |
Case Break |
1185 |
Case (iRuntimeVersion=160) |
1186 |
Set psProgID to "{3B742EEF-8870-47F7-A817-D5C4CFFC8471}" |
1187 |
Set psEventId to "{EB553338-E564-4F1B-B2DA-67A4BA97720B}" |
1188 |
Case Break |
1189 |
Case (iRuntimeVersion=161) |
1190 |
Set psProgID to "{6C7A06AA-4148-4558-A298-20B0FFB9FD42}" |
1191 |
Set psEventId to "{521D95D0-2FE8-4014-9995-C43A019EE325}" |
1192 |
Case Break |
1193 |
Case (iRuntimeVersion=170) |
1194 |
Set psProgID to "{398EA7A3-D404-4372-8CE4-0CEE44AE5255}" |
1195 |
Set psEventId to "{5A43E915-F93D-48FE-9CD1-37BEF6514865}" |
1196 |
Case Break |
1197 |
Case (iRuntimeVersion=171) |
1198 |
Set psProgID to "{4816B313-5B85-4F96-AAD8-2F8EB26D6CE9}" |
1199 |
Set psEventId to "{CD510572-332A-4145-A1BF-8A77F18C107C}" |
1200 |
Case Break |
1201 |
Case (iRuntimeVersion=180) |
1202 |
Set psProgID to "{800A71A1-412D-4082-B1C9-856E32C4FE01}" |
1203 |
Set psEventId to "{7B1BDF69-C17A-483D-8787-9F05972561C5}" |
1204 |
Case Break |
1205 |
Case (iRuntimeVersion=181) |
1206 |
Set psProgID to "{4F68B1B0-80E0-40D4-A429-7576B48D32FC}" |
1207 |
Set psEventId to "{BCD531B3-8927-49E0-A386-1096D12BC170}" |
1208 |
Case Break |
1209 |
Case (iRuntimeVersion=182) |
1210 |
Set psProgID to "{69E32690-0291-48EF-856C-51896F8E146F}" |
1211 |
Set psEventId to "{2EDDE32A-4CD1-4BE9-A875-99DDAB2A1009}" |
1212 |
Case Break |
1213 |
Case (iRuntimeVersion=190) |
1214 |
Set psProgID to "{CF2149B0-36B1-4BFB-BB3D-7A5889F793FE}" |
1215 |
Set psEventId to "{73DFB990-71DC-4727-A113-06BA73F4DE7E}" |
1216 |
Case Break |
1217 |
Case (iRuntimeVersion=191) |
1218 |
Set psProgID to "{6245C464-0C89-4B88-8523-FDA685519CD2}" |
1219 |
Set psEventId to "{92FB2A2D-6F67-4CB2-855A-7E4AB60A3269}" |
1220 |
Case Break |
1221 |
Case Else |
1222 |
Send Stop_Box ("The debug variables component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
1223 |
Abort |
1224 |
Case End |
1225 |
End |
1226 |
Else Begin |
1227 |
Send Stop_Box "Could not determine runtime version of passed application for debug variables." CS_SPLATFATALCAPTION |
1228 |
Abort |
1229 |
End |
1230 |
End_Procedure // Construct_Runtime_Object |
1231 |
|
1232 |
Procedure DetermineRuntimeVersion |
1233 |
End_Procedure // DetermineRuntimeVersion |
1234 |
|
1235 |
End_Class |
1236 |
|
1237 |
// CLSID: {5FF4AD31-3606-4009-80BA-9C7A9E959538} |
1238 |
// IWatches Interface |
1239 |
Class cComIWatches is a Mixin |
1240 |
|
1241 |
// method LoadWatches - Loads expressions in the grid |
1242 |
Procedure ComLoadWatches String[] llsaExpressions |
1243 |
Handle hDispatchDriver |
1244 |
Get phDispatchDriver to hDispatchDriver |
1245 |
Send PrepareParams to hDispatchDriver 1 |
1246 |
Send DefineParam to hDispatchDriver (OLE_VT_ARRAY ior OLE_VT_BSTR) llsaExpressions |
1247 |
Send InvokeComMethod to hDispatchDriver 1 OLE_VT_VOID |
1248 |
End_Procedure |
1249 |
|
1250 |
// method GetWatches - Get Array of expressions currently displayed |
1251 |
Function ComGetWatches Returns String[] |
1252 |
Handle hDispatchDriver |
1253 |
String[] retVal |
1254 |
Get phDispatchDriver to hDispatchDriver |
1255 |
Get InvokeComMethod of hDispatchDriver 2 (OLE_VT_ARRAY ior OLE_VT_BSTR) to retVal |
1256 |
Function_Return retVal |
1257 |
End_Function |
1258 |
|
1259 |
// method ClearWatches - Remove all watches from window |
1260 |
Procedure ComClearWatches |
1261 |
Handle hDispatchDriver |
1262 |
Get phDispatchDriver to hDispatchDriver |
1263 |
Send InvokeComMethod to hDispatchDriver 3 OLE_VT_VOID |
1264 |
End_Procedure |
1265 |
|
1266 |
// method AddWatch |
1267 |
Procedure ComAddWatch String llsWatch |
1268 |
Handle hDispatchDriver |
1269 |
Get phDispatchDriver to hDispatchDriver |
1270 |
Send PrepareParams to hDispatchDriver 1 |
1271 |
Send DefineParam to hDispatchDriver OLE_VT_BSTR llsWatch |
1272 |
Send InvokeComMethod to hDispatchDriver 4 OLE_VT_VOID |
1273 |
End_Procedure |
1274 |
|
1275 |
// property ColumnWidth |
1276 |
{ MethodType=Property DesignTime=False } |
1277 |
Function ComColumnWidth Integer lllColumnIndex Returns Integer |
1278 |
Handle hDispatchDriver |
1279 |
Integer retVal |
1280 |
Get phDispatchDriver to hDispatchDriver |
1281 |
Send PrepareParams to hDispatchDriver 1 |
1282 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
1283 |
Get InvokeComMethod of hDispatchDriver 5 OLE_VT_I4 to retVal |
1284 |
Function_Return retVal |
1285 |
End_Function |
1286 |
|
1287 |
// property ColumnWidth |
1288 |
{ MethodType=Property DesignTime=False } |
1289 |
Procedure Set ComColumnWidth Integer lllColumnIndex Integer value |
1290 |
Handle hDispatchDriver |
1291 |
Get phDispatchDriver to hDispatchDriver |
1292 |
Send PrepareParams to hDispatchDriver 2 |
1293 |
Send DefineParam to hDispatchDriver OLE_VT_I4 lllColumnIndex |
1294 |
Set ComProperty of hDispatchDriver 5 OLE_VT_I4 to value |
1295 |
End_Procedure |
1296 |
|
1297 |
|
1298 |
// Introduced in vdf15.0 |
1299 |
// method ToggleSelectionViewAsObject |
1300 |
Procedure ComToggleSelectionViewAsObject |
1301 |
Handle hDispatchDriver |
1302 |
Get phDispatchDriver to hDispatchDriver |
1303 |
Send InvokeComMethod to hDispatchDriver 6 OLE_VT_VOID |
1304 |
End_Procedure |
1305 |
|
1306 |
// Introduced in vdf15.0 |
1307 |
// method CanToggleSelectionViewAsObject |
1308 |
Function ComCanToggleSelectionViewAsObject Returns Boolean |
1309 |
Handle hDispatchDriver |
1310 |
Boolean retVal |
1311 |
Get phDispatchDriver to hDispatchDriver |
1312 |
Get InvokeComMethod of hDispatchDriver 7 OLE_VT_BOOL to retVal |
1313 |
Function_Return retVal |
1314 |
End_Function |
1315 |
|
1316 |
// Introduced in vdf15.0 |
1317 |
// method IsSelectionViewAsObject |
1318 |
Function ComIsSelectionViewAsObject Returns Boolean |
1319 |
Handle hDispatchDriver |
1320 |
Boolean retVal |
1321 |
Get phDispatchDriver to hDispatchDriver |
1322 |
Get InvokeComMethod of hDispatchDriver 8 OLE_VT_BOOL to retVal |
1323 |
Function_Return retVal |
1324 |
End_Function |
1325 |
|
1326 |
// Introduced in DF18.1 |
1327 |
// method CopyDataValueToClipboard |
1328 |
Procedure ComCopyDataValueToClipboard |
1329 |
Handle hDispatchDriver |
1330 |
Get phDispatchDriver to hDispatchDriver |
1331 |
Send InvokeComMethod to hDispatchDriver 9 OLE_VT_VOID |
1332 |
End_Procedure |
1333 |
|
1334 |
// Introduced in DF18.1 |
1335 |
// method CanCopyDataValue |
1336 |
Function ComCanCopyDataValue Returns Boolean |
1337 |
Handle hDispatchDriver |
1338 |
Boolean retVal |
1339 |
Get phDispatchDriver to hDispatchDriver |
1340 |
Get InvokeComMethod of hDispatchDriver 10 OLE_VT_BOOL to retVal |
1341 |
Function_Return retVal |
1342 |
End_Function |
1343 |
|
1344 |
End_Class |
1345 |
|
1346 |
|
1347 |
// Introduced in vdf14.0 |
1348 |
// CLSID: |
1349 |
// _IWatchesEvents Interface |
1350 |
Class cCom_IWatchesEvents is a Mixin |
1351 |
|
1352 |
// method OnContextMenu - fired when user right clicked to bring up context menu |
1353 |
{ MethodType=Event } |
1354 |
Procedure OnComContextMenu UInteger llpoint |
1355 |
End_Procedure |
1356 |
|
1357 |
{ Visibility=Private } |
1358 |
Procedure RegisterComEvents |
1359 |
Integer iRuntimeVersion |
1360 |
|
1361 |
Get piRuntimeVersion To iRuntimeVersion |
1362 |
If (iRuntimeVersion>140) Begin |
1363 |
Send RegisterComEvent 1 msg_OnComContextMenu |
1364 |
End |
1365 |
End_Procedure |
1366 |
End_Class |
1367 |
|
1368 |
|
1369 |
|
1370 |
// CoClass |
1371 |
// ProgID: vdfdbg.Watches.xx.yy |
1372 |
// CLSID: |
1373 |
// Watches Class |
1374 |
Class cComCWatches is a cComActiveXControl |
1375 |
Import_Class_Protocol cComIWatches |
1376 |
Import_Class_Protocol cCom_IWatchesEvents |
1377 |
|
1378 |
|
1379 |
Procedure Construct_Object |
1380 |
Property Integer piRuntimeVersion 0 |
1381 |
|
1382 |
Send Construct_Runtime_Object |
1383 |
|
1384 |
Forward Send Construct_Object |
1385 |
|
1386 |
Set peAutoCreate to acDeferredAutoCreate |
1387 |
End_Procedure |
1388 |
|
1389 |
|
1390 |
Procedure Construct_Runtime_Object |
1391 |
Integer iRuntimeVersion |
1392 |
|
1393 |
Send DetermineRuntimeVersion |
1394 |
Get piRuntimeVersion To iRuntimeVersion |
1395 |
If (iRuntimeVersion>0) Begin |
1396 |
Case Begin |
1397 |
Case (iRuntimeVersion=121) |
1398 |
Set psProgID to "{DAAF28FD-83C9-43C0-9EFF-B31718B8F969}" |
1399 |
Case Break |
1400 |
Case (iRuntimeVersion=140) |
1401 |
Set psProgID to "{705C8088-C38D-42B8-97B0-0B884CC18258}" |
1402 |
Set psEventId to "{0FB06DC9-1F4F-4407-9357-A2F8F06089C1}" |
1403 |
Case Break |
1404 |
Case (iRuntimeVersion=141) |
1405 |
Set psProgID to "{21326EB8-BCE8-4E4D-AC46-5C0C4AA18DC9}" |
1406 |
Set psEventId to "{937D4E5E-010E-4ADF-B9D5-7300ACFE0778}" |
1407 |
Case Break |
1408 |
Case (iRuntimeVersion=150) |
1409 |
Set psProgID to "{8C287ADF-6CB4-4821-8C32-2CA94B7D97D0}" |
1410 |
Set psEventId to "{0BD0A0F8-34CF-404A-8D16-C7CEE9A0C76C}" |
1411 |
Case Break |
1412 |
Case (iRuntimeVersion=151) |
1413 |
Set psProgID to "{D74F2668-22A8-4382-A225-04E4A42179A7}" |
1414 |
Set psEventId to "{1D49C1B8-AF08-4002-871D-9FCDC27413C9}" |
1415 |
Case Break |
1416 |
Case (iRuntimeVersion=160) |
1417 |
Set psProgID to "{F281D305-1446-49FE-8739-130495F45AE8}" |
1418 |
Set psEventId to "{007FECE4-446E-4215-B05D-F566EA6994D0}" |
1419 |
Case Break |
1420 |
Case (iRuntimeVersion=161) |
1421 |
Set psProgID to "{D01A01B0-1A06-4CDE-9BEF-CD11C5754AAF}" |
1422 |
Set psEventId to "{7D00FCBF-0577-4E70-B51C-380B9AEAF5C0}" |
1423 |
Case Break |
1424 |
Case (iRuntimeVersion=170) |
1425 |
Set psProgID to "{EC46FECC-1D70-4DC7-8DA0-96DEF69F0FE3}" |
1426 |
Set psEventId to "{27179A78-7816-4DCD-9936-4AF0F9710A79}" |
1427 |
Case Break |
1428 |
Case (iRuntimeVersion=171) |
1429 |
Set psProgID to "{7E95BA97-4CEA-4FCC-A78F-C53A2FE3BD41}" |
1430 |
Set psEventId to "{BD2C9BF6-FE93-4F49-92A1-011CA97A7515}" |
1431 |
Case Break |
1432 |
Case (iRuntimeVersion=180) |
1433 |
Set psProgID to "{EB60D95E-BFF7-40B4-9D3B-2817F69279DA}" |
1434 |
Set psEventId to "{BE25D8E7-F995-474F-B5F2-09288BB2EC32}" |
1435 |
Case Break |
1436 |
Case (iRuntimeVersion=181) |
1437 |
Set psProgID to "{9AA2081A-1F94-4AEC-9F96-9CAA7087075F}" |
1438 |
Set psEventId to "{F09A8A1A-2272-45C7-BFB8-BFE057CAED48}" |
1439 |
Case Break |
1440 |
Case (iRuntimeVersion=182) |
1441 |
Set psProgID to "{2A91AF25-76B1-4150-8EDF-7387AB6B6CC1}" |
1442 |
Set psEventId to "{09413F3F-2C0A-4323-854E-288EBA8D2FEC}" |
1443 |
Case Break |
1444 |
Case (iRuntimeVersion=191) |
1445 |
Set psProgID to "{13BB6CF5-A873-4363-B189-A2A6CA844C73}" |
1446 |
Set psEventId to "{13DBFB1B-3755-4563-8C40-B7DCBAC23024}" |
1447 |
Case Break |
1448 |
Case Else |
1449 |
Send Stop_Box ("The debug watches component for VDF"*trim(iRuntimeVersion)*"has not yet been defined.") CS_SPLATFATALCAPTION |
1450 |
Abort |
1451 |
Case End |
1452 |
End |
1453 |
Else Begin |
1454 |
Send Stop_Box "Could not determine runtime version of passed application for debug watches." CS_SPLATFATALCAPTION |
1455 |
Abort |
1456 |
End |
1457 |
End_Procedure // Construct_Runtime_Object |
1458 |
|
1459 |
Procedure DetermineRuntimeVersion |
1460 |
End_Procedure // DetermineRuntimeVersion |
1461 |
|
1462 |
End_Class |