Obsydian Tips & Techniques

30
1 Obsydian Tips & Techniques Doctor Obsydian [email protected] AKA : Adrian Slade Principal Pattern Engineer [email protected]

description

Doctor Obsydian [email protected] AKA : Adrian Slade Principal Pattern Engineer [email protected]. Obsydian Tips & Techniques. Schedule. Part 1 - ActiveX Choosing a script Script techniques Script gotcha’s Debugging Script help resources Part 2 - Creative Meta Code Global properties - PowerPoint PPT Presentation

Transcript of Obsydian Tips & Techniques

Page 1: Obsydian Tips & Techniques

1

ObsydianTips &

TechniquesDoctor [email protected] : Adrian SladePrincipal Pattern [email protected]

Page 2: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 2

ScheduleSchedule

Part 1 - ActiveXPart 1 - ActiveX Choosing a scriptChoosing a script Script techniquesScript techniques Script gotcha’sScript gotcha’s DebuggingDebugging Script help resourcesScript help resources

Part 2 - Creative Meta CodePart 2 - Creative Meta Code Global propertiesGlobal properties Function callsFunction calls Using with ActiveXUsing with ActiveX

Page 3: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 3

ActiveX - Choosing A ScriptActiveX - Choosing A Script

JScriptJScript Live scriptLive script VB scriptVB script Visual BasicVisual Basic

Page 4: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 4

ActiveX - Script Techniques 1ActiveX - Script Techniques 1

Source code or fileSource code or file #External <file name>#External <file name>

Setting propertiesSetting properties Supercedes the API’sSupercedes the API’s Set one or many in a scriptSet one or many in a script Pass and manipulate values as parametersPass and manipulate values as parameters

Page 5: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 5

ActiveX - Setting PropertiesActiveX - Setting Properties

Page 6: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 6

ActiveX - Script Techniques 2ActiveX - Script Techniques 2

Source code or fileSource code or file Setting propertiesSetting properties Reacting to eventsReacting to events

Events are script subroutinesEvents are script subroutines Retained by the engineRetained by the engine Call API the at start of functionCall API the at start of function

Page 7: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 7

ActiveX - Reacting To EventsActiveX - Reacting To Events

Page 8: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 8

ActiveX - Script Techniques 3ActiveX - Script Techniques 3

Source code or fileSource code or file Setting propertiesSetting properties Reacting to eventsReacting to events Interacting with the Action DiagramInteracting with the Action Diagram

Runtime supplied methods for Values and EventsRuntime supplied methods for Values and Events

Page 9: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 9

ActiveX - Action DiagramActiveX - Action Diagram

Page 10: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 10

ActiveX - Script Techniques 4ActiveX - Script Techniques 4

Source code or fileSource code or file Setting propertiesSetting properties Reacting to eventsReacting to events Interacting with the Action DiagramInteracting with the Action Diagram Calling methodsCalling methods

Parameters are optionalParameters are optional

Page 11: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 11

ActiveX - Calling MethodsActiveX - Calling Methods

Page 12: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 12

ActiveX - Script Techniques 5ActiveX - Script Techniques 5

Source code or fileSource code or file Setting propertiesSetting properties Reacting to eventsReacting to events Interacting with the Action DiagramInteracting with the Action Diagram Calling methodsCalling methods Creating objectsCreating objects

Does not need an ActiveXDoes not need an ActiveX Specific to an object modelSpecific to an object model

Page 13: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 13

ActiveX - Creating ObjectsActiveX - Creating Objects

Page 14: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 14

ActiveX - Script Gotcha’sActiveX - Script Gotcha’s

Value typeValue type The ‘SET’ instructionThe ‘SET’ instruction Function parenthesesFunction parentheses Unsupported objectsUnsupported objects Event parameters have no effectEvent parameters have no effect Event processing out of sequenceEvent processing out of sequence Visual Basic for Applications and Visual Basic 5.0Visual Basic for Applications and Visual Basic 5.0

Page 15: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 15

ActiveX - DebuggingActiveX - Debugging

Can be difficult Can be difficult Use MsgBox “a string or value”Use MsgBox “a string or value” Learn to use Dev Studio in debug modeLearn to use Dev Studio in debug mode Check parentheses and SET instructionCheck parentheses and SET instruction Use the Test mode in the panel designerUse the Test mode in the panel designer Windows Scripting Host?Windows Scripting Host?

Page 16: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 16

ActiveX - Script Help ResourcesActiveX - Script Help Resources

MicrosoftMicrosoft VB script tutorVB script tutor Product help filesProduct help files Visual BasicVisual Basic

ActiveX supplierActiveX supplier Help filesHelp files

VBscript for DummiesVBscript for Dummies Learn the Object ModelLearn the Object Model

Page 17: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 17

Useful Web AddressesUseful Web Addresses

www.synon.com/LavaLounge/TechnicalCorner/Dr_O/www.synon.com/LavaLounge/TechnicalCorner/Dr_O/ www.microsoft.com/VBscript/www.microsoft.com/VBscript/ www.microsoft.com/JScript/www.microsoft.com/JScript/ www.microsoft.com/vbscript/us/vbstutor/vbstutor.htmwww.microsoft.com/vbscript/us/vbstutor/vbstutor.htm www.webadvisor.com/vbscript.htmlwww.webadvisor.com/vbscript.html www.vbscripts.com/www.vbscripts.com/ www.microsoft.com/sitebuilder/www.microsoft.com/sitebuilder/ www.amazon.comwww.amazon.com www.shersoft.comwww.shersoft.com www.download.comwww.download.com www.vbextras.comwww.vbextras.com

Page 18: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 18

Questions So Far ?Questions So Far ?

Page 19: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 19

Creative Meta CodeCreative Meta Code

Examples to spark your imagination - I hope.Examples to spark your imagination - I hope. Code taken from real working functionsCode taken from real working functions

Page 20: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 20

Meta - Global PropertiesMeta - Global Properties

Only works for client C++Only works for client C++ Makes data available to all functionsMakes data available to all functions

within an .EXE’s call graphwithin an .EXE’s call graph

Page 21: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 21

Meta - Global Properties 1Meta - Global Properties 1

Page 22: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 22

Meta - Global Properties 2Meta - Global Properties 2

Page 23: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 23

Meta - Function CallsMeta - Function Calls

Only works for client C++Only works for client C++ Driven by the modelDriven by the model No parameters allowedNo parameters allowed

Page 24: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 24

Meta - Function Calls 1Meta - Function Calls 1

Page 25: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 25

Meta - Function Calls 2Meta - Function Calls 2

Page 26: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 26

Meta - With An ActiveXMeta - With An ActiveX

Loads images into an ImageListLoads images into an ImageList Model drivenModel driven Gets the image name from the NAME objectGets the image name from the NAME object Gets the image location from the Narrative of the Gets the image location from the Narrative of the

NAME objectNAME object

Page 27: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 27

Meta - With An ActiveXMeta - With An ActiveX

Page 28: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 28

Meta - With An ActiveXMeta - With An ActiveX

Page 29: Obsydian Tips & Techniques

©1998 Synon Corporation. ©1998 Synon Corporation. 29

Any More Questions ?Any More Questions ?

Page 30: Obsydian Tips & Techniques

30

ObsydianTips &

TechniquesDoctor [email protected] : Adrian SladePrincipal Pattern [email protected]