3
● 
For Developers: Administering FactoryTalk Historian ActiveView 
● 
● 
● 
● 
● 
63 
specify any of the following paths to change the display (assuming that 
http://myserver/mydir1/mydisplay2.pdi
and 
http://myserver/mydir2/mydisplay3.pdi
are valid files): 
http:mydisplay2.pdi 
mydisplay2.pdi 
http:../mydir2/mydisplay3.pdi 
When the DisplayURL property is set, the control first determines whether 
the display is already open. The control caches the last five displays that 
are opened (for the current lifetime of the control) in internal memory. If 
the display is cached, it is activated. 
Otherwise, the control attempts to open the file. If the file is accessed by an 
HTTP or FTP protocol, the control attempts to create a cache on the local 
hard drive. A cache entry is created in the directory used to store temporary 
Internet files. (The location of this directory is an option available through 
an Internet browser.) The file is copied to the cache, the cache is 
committed, and the file is retrieved from the cache, locking the cache entry. 
The file is loaded via the IPersistFile interface of the display. All cache 
operations are done using Win32 Internet functions. 
If the attempt to locate, cache or load a display file fails, the control 
displays an error message in its window and the display is not drawn. 
If five displays are already open, the least recently opened display is 
closed, thereby destroying the cached display. All open displays are 
destroyed when the control itself is destroyed. The five internally cached 
displays are not visible to the user. Internet Explorer caches files outside of 
the five cached by the control. 
To set DisplayURL, include this line in your code: 
Pbd1.DisplayURL = "http://www.MyServer.Com/MyDisplay.pdi" 
How to convert pdf slides to powerpoint - SDK application service:C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
www.rasteredge.com
How to convert pdf slides to powerpoint - SDK application service:VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
www.rasteredge.com
● 
● 
● 
● 
● 
FactoryTalk Historian ActiveView User Guide 
64 
Examples 
The following examples are written in VBScript. To use, insert each 
example code after the <HTML> tag in the following HTML code. 
<HTML> 
'Insert the code from all three examples here. 
<object id      = "pbd1" 
classid = "clsid:4F26B906-2854-11D1-9597-
00A0C931BFC8" 
height  = "300" 
width   = "400"> 
</object> 
<p> 
<input id    = "btnGetDisplayURL" 
type  = "button" 
value = "Get DisplayURL" 
title = "This property specifies the location of the 
FactoryTalk Historian ProcessBook Display file. It can be set 
to a URL string. The URL string should not contain any escape 
characters. HTTP or FTP protocols (services) are supported. 
You can also use a UNC path or a local path to a display. For 
the UNC and local paths, the protocol prefix file: is 
optional."> 
<input id    = "txtDisplayURL" 
size  = "64" 
value = "DisplayURL"> 
<input id    = "btnSetDisplayURL" 
type  = "button" 
title = "To set the display URL: MyControl.DisplayURL 
= http://www.MyServer.Com/MyDisplay.pdi"> 
</p> 
</html> 
Example 1 gets the DisplayURL property from the control. 
<script language = "VBScript"> 
Sub btnGetServerINIURL_onclick 
Dim strCurServerINIURL, strNewServerINIURL 
'Get the Current ServerINIURL from the ActiveView 
Control 
strCurServerINIURL = trim(pbd1.ServerINIURL) 
If strCurServerINIURL > "" Then 
txtServerINIURL.value = strCurServerINIURL 
SDK application service:C# PowerPoint - How to Process PowerPoint
slides sorting library can help you a lot. Extract Slides from PowerPoint in C#.NET. Use C# sample code to extract single or several
www.rasteredge.com
SDK application service:VB.NET PowerPoint: Read, Edit and Process PPTX File
split PowerPoint file, change the order of PPTX sildes and extract one or more slides from PowerPoint How to convert PowerPoint to PDF, render PowerPoint to
www.rasteredge.com
3
● 
For Developers: Administering FactoryTalk Historian ActiveView 
● 
● 
● 
● 
● 
65 
Else 
txtServerINIURL.value = "Current Server INI URL 
is not set" 
End If 
End Sub 
</script> 
Example 2 sets DisplayURL with a string from the text area. 
<script language = "VBScript"> 
Sub btnSetServerINIURL_onclick 
Dim strCurServerINIURL, strNewServerINIURL 
'Get the Current ServerINIURL from the ActiveView 
Control 
strCurServerINIURL = pbd1.ServerIniURL 
'New ServerINIURL is in the textarea. 
strNewServerINIURL = trim(txtServerINIURL.value) 
If strNewServerINIURL > "" _ 
and strNewServerINIURL <> strCurServerINIURL Then 
pbd1.ServerINIURL = strNewServerINIURL 
End If 
End Sub 
</script> 
Example 3 sets DisplayURL to the file simple 
.pdi
located in the same 
directory as the Web page. 
<script language = "VBScript"> 
Sub window_onload 
Dim strPath 
Dim strpdi, iCount 
'-----Note that this example assumes that the 
document path is an URL 
'     that uses a slash instead of a backslash as the 
path separator. 
If pbd1.DisplayURL = "" Then 
strPath         = document.url 
strPath         = Left(strPath, InStrRev(strPath, 
"/")) 
pbd1.DisplayURL = strPath & "simple.pdi" 
End If 
End Sub 
</script> 
SDK application service:VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
add image to slide, extract slides and merge library SDK, this VB.NET PowerPoint processing control powerful & profession imaging controls, PDF document, image
www.rasteredge.com
SDK application service:VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
clip art or screenshot to PowerPoint document slide large amount of robust PPT slides/pages editing powerful & profession imaging controls, PDF document, image
www.rasteredge.com
● 
● 
● 
● 
● 
FactoryTalk Historian ActiveView User Guide 
66 
DisplayURLIsValid Property 
This read-only, Boolean property indicates whether the specified location 
of the FactoryTalk Historian ProcessBook display file is valid. If so, it 
returns TRUE. 
ReadyState Property 
The read-only ReadyState property indicates the state of the control. The 
possible states are: 
State 
Value 
Description 
pbReadyStateLoading 
The control is being constructed. Once its 
window is created, it becomes interactive. 
pbReadyStateInteractive 
FactoryTalk Historian ActiveView is loading 
the display. 
pbReadyStateComplete 
The display is viewable. 
These state transitions trigger the ReadyStateChange stock event. 
Developers must use the integer values for these constants or to define them 
within scripts. You can also look up these values in the Visual Basic Object 
Browser.
ServerIniURL Property 
The ServerIniURL property, which is optional, specifies the location of a 
pilogin.ini
file that contains Historian Server information. 
This property also supports relative paths; however the first time the 
control's ServerIniURL property is set, you must specify the absolute path. 
After that, you may specify a ServerIniURL that is relative to the initial 
path. The protocol may or may not be specified in the relative path. Note 
that specifying a different protocol in the relative path is invalid. Also, the 
property always returns the absolute path. 
SDK application service:VB.NET PowerPoint: Use PowerPoint SDK to Create, Load and Save PPT
Besides, users also can get the precise PowerPoint slides count as soon as the PowerPoint document has been loaded by using the page number getting method.
www.rasteredge.com
SDK application service:VB.NET PowerPoint: Extract & Collect PPT Slide(s) Using VB Sample
want to combine these extracted slides into a please read this VB.NET PowerPoint slide processing powerful & profession imaging controls, PDF document, image
www.rasteredge.com
3
● 
For Developers: Administering FactoryTalk Historian ActiveView 
● 
● 
● 
● 
● 
67 
For example, you can specify 
http://myserver/mydir1/mypilogin.ini 
first, and then 
specify any of the following paths to change the display (assuming that 
http://myserver/mydir1/mypilogin2.ini
and 
http://myserver/mydir2/mypilogin3.ini
are valid files): 
http: mypilogin2.ini 
mypilogin2.ini 
http:../mydir2/ mypilogin3.ini 
When ServerIniURL value is set or changes, the file that it points to is 
read and the values are merged with the user's pilogin.ini file. 
Examples 
The examples are written in VBScript. To use, insert after the <HTML> 
tag in the following HTML code. 
<HTML> 
<object id      = "pbd1" 
classid = "clsid:4F26B906-2854-11D1-9597-
00A0C931BFC8" 
height  = "300" 
width   = "400"> 
</object> 
<P> 
<input id    = "btnGetServerINIURL" 
type  = "button" 
value = "Get ServerINIURL" 
title = "This optional property specifies the location 
of a pilogin.ini file that contains Historian Server 
information."> 
<input id    = "txtServerINIURL" 
size  = "64" 
value = "ServerINIURL"> 
<input id    = "btnSetServerINIURL" 
type  = "button" 
value = "Set ServerINIURL" 
title = "To set the ServerINI URL: 
MyControl.ServerINIURL = 
http://www.MyServer.Com/MyPILogin.ini"> 
SDK application service:VB.NET PowerPoint: Merge and Split PowerPoint Document(s) with PPT
of the split PPT document will contain slides/pages 1-4 code in VB.NET to finish PowerPoint document splitting If you want to see more PDF processing functions
www.rasteredge.com
SDK application service:VB.NET PowerPoint: Complete PowerPoint Document Conversion in VB.
It contains PowerPoint documentation features and all PPT slides. Control to render and convert target PowerPoint or document formats, such as PDF, BMP, TIFF
www.rasteredge.com
● 
● 
● 
● 
● 
FactoryTalk Historian ActiveView User Guide 
68 
</P> 
</HTML> 
Example 1 gets the ServerINIURL property from the control. 
<script language = "VBScript"> 
Sub btnGetServerINIURL_onclick() 
Dim strCurServerINIURL, strNewServerINIURL 
'Get the Current ServerINIURL from the ActiveView 
Control 
strCurServerINIURL = trim(pbd1.ServerINIURL) 
If len(strCurServerINIURL) > 0 Then 
txtServerINIURL.value = strCurServerINIURL 
Else 
txtServerINIURL.value = "Current Server INI URL 
is not set" 
End If 
End Sub 
</script> 
Example 2 sets ServerINIURL with a string from the text area. The login 
information in the Web file is merged with existing information on the 
user's PC. 
<script language = "VBScript"> 
Sub btnSetServerINIURL_onclick() 
Dim strCurServerINIURL, strNewServerINIURL 
'Get the Current ServerINIURL from the ActiveView 
Control 
strCurServerINIURL = pbd1.ServerIniURL 
'New ServerINIURL is in the textarea. 
strNewServerINIURL = trim(txtServerINIURL.value) 
If strNewServerINIURL > "" _ 
and strNewServerINIURL <> strCurServerINIURL then 
pbd1.ServerINIURL = strNewServerINIURL 
End If 
End Sub 
</script> 
ServerIniURLIsValid Property 
This read-only, Boolean property indicates whether the specified location 
of a 
pilogin.ini
file that contains PI Server information is valid. 
SDK application service:VB.NET PowerPoint: Convert & Render PPT into PDF Document
Using this VB.NET PowerPoint to PDF converting demo code below, you can easily convert all slides of source PowerPoint document into a multi-page PDF file.
www.rasteredge.com
SDK application service:VB.NET PowerPoint: Add Image to PowerPoint Document Slide/Page
insert or delete any certain PowerPoint slide without methods to reorder current PPT slides in both powerful & profession imaging controls, PDF document, tiff
www.rasteredge.com
3
● 
For Developers: Administering FactoryTalk Historian ActiveView 
● 
● 
● 
● 
● 
69 
ActiveView Control Events 
BeforeConnection Event 
This event occurs before a connection to the Historian Server is attempted. 
This allows the programmer to alter the user name and password so that 
logging into the Server is not apparent to the user. When the call returns, 
connection is attempted. 
Format 
BeforeConnection (myParam as BCParam) 
Example 
The following is an example of using JavaScript to use the security events: 
<html> 
<head> 
<script language = "VBScript"> 
Sub window_onLoad() 
Pbd1.DisplayURL = "<MyDisplayURL>" 
End Sub 
</script> 
<script id = "clientEventHandlersJS" language = "javascript"> 
function Pbd1_BeforeConnection(pParam) { 
pParam.Username = "MyUserName"; 
pParam.Password = "MyPassword"; 
</script> 
<script language = "JavaScript" 
for      = "pbd1" 
event    = "BeforeConnection(pParam)"> 
Pbd1_BeforeConnection(pParam) 
</script> 
</head> 
<body> 
<p> 
<object id      = "Pbd1" 
width   = "700" 
● 
● 
● 
● 
● 
FactoryTalk Historian ActiveView User Guide 
70 
height  = "510" 
classid = "CLSID:4F26B906-2854-11D1-9597-
00A0C931BFC8"> 
</object> 
</p> 
</body> 
</html> 
The following example uses the events with VBScript. To use, replace the 
code between the <head> and </head> tags above with the following code: 
<script language = "VBScript"> 
Sub window_onLoad() 
Pbd1.DisplayURL = "<MyDisplayURL>" 
End Sub 
Sub Pbd1_BeforeConnection(pParam) 
pParam.Username = "MyUserName" 
pParam.Password = "MyPassword" 
End Sub 
</script> 
BCParam 
This object is passed to the container as a parameter to the 
BeforeConnection event. The BCParam object is then used to read and 
update the parameters. 
BCParam.Server 
Server is a string that represents the server name. This 
parameter can only be read. 
BCParam.Username 
Username is a string that represents the user that is trying to 
log on to the server. The value is initialized to the user 
logging on and can be modified. 
BCParam.Password 
Password is a string that represents the password for the user 
trying to log on to the server. The value is initialized to the 
user's password logging on and can be modified. 
BCParam.ConnectString 
This parameter is reserved for future use. 
BCParam.MyData 
This parameter is reserved for future use. 
3
● 
For Developers: Administering FactoryTalk Historian ActiveView 
● 
● 
● 
● 
● 
71 
ConnectionFailed Event 
If the connection to the Historian Server fails, this event occurs before the 
login dialog box is displayed. This event allows the script to retry the 
connection programmatically without showing the login dialog box. 
Format 
ConnectionFailed (myParam as CFParam) 
Examples 
The following is an example of using JavaScript to use the security events: 
<html> 
<head> 
<script language = "VBScript"> 
Sub window_onLoad() 
Pbd1.DisplayURL = "<MyDisplayURL>" 
End Sub 
</script> 
<script id = "clientEventHandlersJS" language = "JavaScript"> 
function Pbd1_ConnectionFailed(pParam) { 
alert(pParam.Server); 
pParam.UserName = "MyUserName"; 
pParam.Password = "MyPassword"; 
</script> 
<script language = "JavaScript" 
for      = "Pbd1" 
event    = "ConnectionFailed(pParam)"> 
Pbd1_ConnectionFailed(pParam) 
</script> 
</head> 
<body> 
<p> 
<object id      = "Pbd1" 
width   = "700" 
height  = "510" 
classid = "CLSID:4F26B906-2854-11D1-9597-
00A0C931BFC8"> 
</object> 
● 
● 
● 
● 
● 
FactoryTalk Historian ActiveView User Guide 
72 
</p> 
</body> 
</html> 
The following example uses the events with VBScript. To use, replace the 
code between the <head> and </head> tags above with the following code: 
<script language = "VBScript" > 
Sub window_onLoad() 
Pbd1.DisplayURL = "<MyDisplayURL>" 
End Sub 
</script> 
<script language = "VBScript"> 
Sub Pbd1_ConnectionFailed(pParam) 
pParam.Username = "MyUserName" 
pParam.Password = "MyPassword" 
End Sub 
</script> 
CFParam 
This object is passed to the container as a parameter to the 
ConnectionFailed event. The CFParam object is then used to read and 
update the parameters. 
JavaScript cannot take simple types by reference as parameters. The 
CFParam object is used as a workaround to this issue. 
CFParam. 
Server 
Server is a string that represents the server name. This parameter can 
only be read. 
CFParam. 
Username 
Username is a string that represents the user that is trying to log on to 
the server. The value is initialized to the user logging on and can be 
modified. 
CFParam. 
Password 
Password is a string that represents the password for the user trying to 
log on to the server. The value is initialized to the user's password logging 
on and can be modified. 
CFParam. 
ConnectString 
This parameter is reserved for future use. 
Documents you may be interested
Documents you may be interested