CreateObject problem
When I use the createObject method to call my InDesign application, an Exception "Cannot create ActiveX Component" is generated.
_MyIndesignApp = CreateObject("Indesign.Application.CS4")
I am using InDesign CS4 on an Windows 7 x64 machine.
You may have this issue. If so see http://forums.adobe.com/message/1105938 for the suggested solutions toward the end of the post
Similar Messages
-
Problems with Reflection API and intantiating an class from a string value
I want to instantiate a class with the name from a String. I have used the reflection api so:
static Object createObject(String className) {
Object object = null;
try {
Class classDefinition = Class.forName(className);
object = classDefinition.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
} catch (IllegalAccessException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
return object;
Let's say my class name is "Frame1".
and then if i use:
Frame1 frm = (Frame1) createObject("Frame1");
everything is ok but i cannot do this because the name "Frame1" is a String variable called "name" and it doesn't work like:
name frm = (name) createObject("Frame1");
where i'm i mistaking?
Thanks very much!i have understood what you have told me but here is a little problem
here is how my test code looks like
Class[] parameterTypes = new Class[] {String.class};
Object frm = createObject("Frame1");
Class cls = frm.getClass();
cls.getMethod("pack",parameterTypes);
cls.getMethod("validate",parameterTypes);
everything works ok till now.
usually if i would of had instantiated the "Frame1" class standardly the "cls" (or "frm" in the first question ) object would be an java.awt.Window object so now i can't use the function (proprietary):
frame_pos_size.frame_pos_size(frm,true);
this function requires as parameters: frame_pos_size(java.awt.Window, boolean)
because my cls or frm objects are not java.awt.Window i really don't find any solution for my problem. I hope you have understood my problem. Please help. Thanks a lot in advance. -
Problem with Java Dates and UPDATE for SQL2000
I am having problems with the date formats for Java. I am trying to put the current date time into a SQL table, here it the code I am using:
var Today = new Date()
var conn = Server.CreateObject( "ADODB.Connection" )
conn.Open( "Provider=SQLOLEDB;Server=(local);Database=BillTracking;UID=sa;PWD=;")
var sql = "UPDATE BillAssignments SET DatePosted = " + Today + " WHERE AssignmentID = '" + Request.QueryString("AssignmentID") + "'"
var rs = conn.execute(sql)
I keep getting different errors and I have been unable to find a solution yet. I know that I need to change the date format from the Java standard to the one that SQL likes.
Help....
Norm...Please tell us where the Java part of this comes in. I see that you are using JavaScript to load up data via an ADO connection (presumably on an IIS platform) - but I do not see where you are using Java
Lee -
First, I tried posting the question coming up in a web case,
but that was on 9/27. Anyone know what the
est. time is to expect a response?
In the mean time, maybe one of you could help?
Our tech support person installed RoboHelp Server.
When trying to access the reports, we're getting this
error...
Server object error 'ASP 0178 : 80070005'
Server.CreateObject Access Error
/robo/reports/Report_API.asp, line 105
The call to Server.CreateObject failed while checking
permissions. Access is denied to this object.
Any suggestions on what to look for?
Here's what we're using...
OS: Windows 2003
Web Server: Microsoft IIS 6
Browser: Microsoft IE
Database: Access
Thanks
DougThe way to get around the timeout problem is to get rid of the timeout. If you have a real business requirement that you have to run a query that takes 30 minutes then it conflicts with the other business requirement that queries aren't allowed to take more than 3 minutes. Conflicts between requirements should be resolved by managers or designers, not by programmers whose job is only to implement designs.
-
Problem in Preview of Crystal Report
Hello Experts !!!!!
I have created a User Defined Form through SDK. I have created a Crystal Report also for that Form. Now on the click of Preview Menu of SBO I want to open my Crystal report. For this I have called the following function in Menu Event.....
Private Function LoadCrViewer(ByVal crxReport As CRAXDDRT.Report) As Boolean
Dim SBOFormCreationParams As SAPbouiCOM.FormCreationParams
Dim SBOCRViewer As SAPbouiCOM.ActiveX
Dim SBOForm As SAPbouiCOM.Form
Dim SBOItem As SAPbouiCOM.Item
Dim strFormCount As String
SBOFormCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
SBOFormCreationParams.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Sizable
SBOFormCreationParams.FormType = "XX_INCRPT01"
strFormCount = SBO_Application.Forms.Count.ToString
SBOFormCreationParams.UniqueID = "XX_INCRPT01" & strFormCount.PadLeft(3, "0")
'Add new form
SBOForm = SBO_Application.Forms.AddEx(SBOFormCreationParams)
SBOForm.Left = 0
SBOForm.Top = 0
SBOForm.Width = SBO_Application.Desktop.Width
SBOForm.Height = SBO_Application.Desktop.Height
SBOForm.Title = "inCentea - Mapas"
'Add CRViewer item
SBOItem = SBOForm.Items.Add("XX_CR01", SAPbouiCOM.BoFormItemTypes.it_ACTIVE_X)
SBOItem.Left = 0
SBOItem.Top = 0
SBOItem.Width = SBOForm.ClientWidth
SBOItem.Height = SBOForm.ClientHeight
' Create the new activeX control
SBOCRViewer = SBOItem.Specific
SBOCRViewer.ClassID = "CrystalReports13.ActiveXReportViewer.1"
Dim SBOCRViewerOBJ
SBOCRViewerOBJ = SBOCRViewer.Object
SBOCRViewerOBJ.EnablePrintButton = False
Dim MyProcs() As Process
Dim i, ID As Integer
Dim a As System.IntPtr
'Try Send the handle of SAP window
SBO_Application.Desktop.Title = "SBO under " + SBO_Application.Company.UserName
MyProcs = Process.GetProcessesByName("SAP Business One")
For i = 0 To MyProcs.Length - 1
If MyProcs(i).MainWindowTitle = SBO_Application.Desktop.Title Then
ID = MyProcs(i).Id()
a = MyProcs(i).MainWindowHandle
crxReport.SetDialogParentWindow(a.ToInt32)
'crxReport.PrinterSetup(a.ToInt32)
'crxReport.PrintOut(False)
End If
Next
SBOCRViewerOBJ.ViewReport()
SBOForm.Visible = True
Return True
End Function
But this Code is throwing an exception "No report to view." on the statement "SBOCRViewerOBJ.ViewReport()"
Please let me know where is the problem? And if possible then please rectify the Code.hello,
I have same issue as yours,
If you have found the solution for the same, please post the solution here, so that we can refer to it.
Thanks in advance for your help. -
Script for the SAP report - download to excel - problem
Hi all
I know that similar problem had already been discussed but going through the solution presented in
any of that topic I was not able to be successful (I am beginner in terms of VBA and SAP scripting)
What I would like to do is simply create the SAP script which based on the parameters filled
in in the excel sheet (user form created) will connect to SAP and make the report which I would like to have saved on my local drive as an excel file.
Everything is ok till the moment I would like to save it. As you know SAP records the macro only till the moment some window pops up (where and under what name you would like to have your report saved)
Could you please advise ?
As a screen I attached also point where macro stops (maybe this makes difference)
Thank you in advance for any suggestions.
Below my code.
Private Sub CommandButton1_Click()
Dim MojaData
MojaData = ComboBox2.Value
Dim Companycode
Companycode = ComboBox1.Value
Dim Depreciation_area
Depreciation_area = ComboBox3.Value
If Not IsObject(Application1) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Application1 = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Application1.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Application1, "on"
End If
Dim sbar As String
sbar = session.findById("wnd[0]/sbar").Text
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/n s_alr_87011990"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtBUKRS-LOW").Text = Companycode
session.findById("wnd[0]/usr/ctxtSO_ANLKL-LOW").Text = ""
session.findById("wnd[0]/usr/ctxtBERDATUM").Text = MojaData
session.findById("wnd[0]/usr/ctxtBEREICH1").Text = Depreciation_area
session.findById("wnd[0]/usr/ctxtSRTVR").Text = "0003"
session.findById("wnd[0]/usr/radSUMMB").SetFocus
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").SelectMJ MJ - I cannot replicate a screen like you have to test it but here's what I would suggest:
Immediately above the command that brings up the SAVE AS dialog, insert these lines:
... your code up to here.....
FileName = "C:\Apps\Notifications.txt" '<----- enter your save file path/name
Wshell.run "C:\Apps\DataLoad.vbs " & FileName,1,False '<-- call up the loader program
... then continue with your code....
Then build a program "dataload.vbs" as follows:
Dim FileNam2
Set Wshell = CreateObject("WScript.Shell")
Do
bWindowFound = Wshell.AppActivate("Save As")
WScript.Sleep 1000
Loop Until bWindowFound
bWindowFound = Wshell.AppActivate("Save As")
if (bWindowFound) Then
Wshell.appActivate "Save As"
WScript.Sleep 100
Wshell.sendkeys "{TAB}"
Wshell.sendkeys "{TAB}"
Wshell.sendkeys "{TAB}"
Wshell.sendkeys "{TAB}"
Wshell.sendkeys "{TAB}" 'make 4 or 5 depending on the platform 4:XP, 5:Win7
WScript.Sleep 100
FileNam2 = WScript.Arguments.Item(0)
Wshell.sendkeys FileNam2
WScript.Sleep 100
Wshell.sendkeys "{ENTER}"
WScript.Sleep 100
end if
This should do the trick of copying your filename into the filename box in the SAVE AS dialog.As I said, I did not get to test it but that is the theory.
Trial-and-error is the only way in many cases.
Good luck
Regards
Umur -
hello i've got a problem with a spry menu
on opera and other there's no problem but on IE the will not appear correctly
here to see on IE
and for opera
here is the code from the pages
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include virtual="/Connections/cieffedb.asp" -->
<%
dim fs,fo,tfile,cpt,rsImage, crnd, first
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set fo=fs.GetFolder("c:\inetpub\wwwroot\slideshow")
Set tfile=fo.CreateTextFile("sample.xml",true)
set rsImage=server.CreateObject("adodb.recordset")
connstring="dsn=cieffeDB"
cpt = 0
first = true
randomize
crnd = int(rnd(20)*10)
rsImage.source = "select image from Images where id_page = 3 order by Rnd((-1000*id)*Time())"
rsImage.activeconnection = connstring
rsImage.locktype = 1
rsImage.open()
tfile.WriteLine("<?xml version=""1.0"" encoding=""UTF-8""?>")
tfile.WriteLine("<slideshow>")
while (cpt<15)
tfile.WriteLine("<slide>")
tfile.WriteLine("<image url='"&rsImage.Fields.Item("image").Value& "' duration='5' fill = 'stretch' />")
tfile.WriteLine("<link>")
tfile.WriteLine("<area x="& Chr(34)&"1"& Chr(34)& " y="& Chr(34)&"1"& Chr(34)&" width="& Chr(34)&"715"& Chr(34)&" height="& Chr(34)&"80"& Chr(34)&" url="& Chr(34)&"http://www.cieffe.be"& Chr(34)&" target="& Chr(34)&"_parent"& Chr(34)& "/>")
tfile.WriteLine("</link>")
tfile.WriteLine("</slide>")
rsImage.movenext()
cpt = cpt+1
wend
tfile.WriteLine("</slideshow>")
tfile.Close
rsImage.close
set tfile=nothing
set rsImage = nothing
set fo=nothing
set fs=nothing
%>
<%
' *** Logout the current user.
MM_Logout = CStr(Request.ServerVariables("URL")) & "?MM_Logoutnow=1"
If (CStr(Request("MM_Logoutnow")) = "1") Then
Session.Contents.Remove("MM_Username")
Session.Contents.Remove("MM_UserAuthorization")
if application("langue") = "FR" then
MM_logoutRedirectPage = "/acceuil.asp?lang=FR"
end if
if application("langue") = "NL" then
MM_logoutRedirectPage = "/acceuil.asp?lang=NL"
end if
if application("langue") = "EN" then
MM_logoutRedirectPage = "/acceuil.asp?lang=EN"
end if
' redirect with URL parameters (remove the "MM_Logoutnow" query param).
if (MM_logoutRedirectPage = "") Then MM_logoutRedirectPage = CStr(Request.ServerVariables("URL"))
If (InStr(1, UC_redirectPage, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_newQS = "?"
For Each Item In Request.QueryString
If (Item <> "MM_Logoutnow") Then
If (Len(MM_newQS) > 1) Then MM_newQS = MM_newQS & "&"
MM_newQS = MM_newQS & Item & "=" & Server.URLencode(Request.QueryString(Item))
End If
Next
if (Len(MM_newQS) > 1) Then MM_logoutRedirectPage = MM_logoutRedirectPage & MM_newQS
End If
session("login")=""
Response.Redirect(MM_logoutRedirectPage)
End If
%>
<% application("langue") = Request.QueryString("lang")
%>
<%
Dim categorie
Dim categorie_cmd
Dim categorie_numRows
Set categorie_cmd = Server.CreateObject ("ADODB.Command")
categorie_cmd.ActiveConnection = MM_cieffedb_STRING
categorie_cmd.CommandText = "SELECT CategoryFR, CategoryNL, CategoryEN, N°, CommentaireFR,CommentaireNL, CommentaireEN FROM Categories"
categorie_cmd.Prepared = true
Set categorie = categorie_cmd.Execute
categorie_numRows = 0
%>
<%
Dim images
Dim images_cmd
Dim images_numRows
Set images_cmd = Server.CreateObject ("ADODB.Command")
images_cmd.ActiveConnection = MM_cieffedb_STRING
images_cmd.CommandText = "SELECT image FROM images, categories WHERE N° = id_categorie"
images_cmd.Prepared = true
Set images = images_cmd.Execute
images_numRows = 0
%>
<%
Dim Repeat2__numRows
Dim Repeat2__index
Repeat2__numRows = 10
Repeat2__index = 0
images_numRows = images_numRows + Repea2__numRows
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = 10
Repeat1__index = 0
categorie_numRows = categorie_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Categorie</title>
<link href="/template/style.css" rel="stylesheet" type="text/css" />
<!--[if IE]>
<link href="/template/ie.css" type="text/css" />
<![endif]-->
<script src="/SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="/SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="global">
<div id="container">
<div id="line1"> </div>
<div id="line2" align="right"> <a href="categorie.asp?lang=FR" target="_parent">FR</a> <a href="categorie.asp?lang=NL" target="_parent">NL</a> <a href="categorie.asp?lang=EN" target="_parent">EN</a> </div>
<div style="clear: both"></div>
<div id="name">CIEFFE BENELUX</div>
<div id="left">
</div>
<div id="center">
<% If application("langue")="FR" Then %>
<div id="menu">
<p><a href="acceuil.asp?lang=FR">Acceuil</a><br />
menu </p>
<p><a href="categorie.asp?lang=FR">Catégories</a><br />
menu </p>
<%if session("login") <> "OK" then%>
<p><a href="login.asp?lang=FR">Login</a><br />
menu </p>
<%else%>
<p><a href="<%= MM_Logout %>">Log out</a><br />
menu </p>
<%END IF%>
<p><a href="enregistrement.asp?lang=FR">Incription</a><br />
menu </p>
<p><a href="contact.asp?lang=FR">Contactez nous</a><br />
menu </p>
</div>
<% End If %>
<% If application("langue")="NL" Then %>
<div id="menu">
<p><a href="acceuil.asp?lang=NL">Home</a><br />
menu </p>
<p><a href="categorie.asp?lang=NL">Categorieën</a><br />
menu </p>
<%if session("login") <> "OK" then%>
<p><a href="login.asp?lang=NL">Login</a><br />
menu </p>
<%else%>
<p><a href="<%= MM_Logout %>">Log out</a><br />
menu </p>
<%END IF%>
<p><a href="enregistrement.asp?lang=NL">Opschrift</a><br />
menu </p>
<p><a href="contact.asp?lang=NL">Contact</a><br />
menu </p>
</div>
<% End If %>
<% If application("langue")="EN" Then %>
<div id="menu">
<p><a href="acceuil.asp?lang=EN">Home</a><br />
menu </p>
<p><a href="categorie.asp?lang=EN">Categories</a><br />
menu </p>
<%if session("login") <> "OK" then%>
<p><a href="login.asp?lang=EN">Login</a><br />
menu </p>
<%else%>
<p><a href="<%= MM_Logout %>">Log out</a><br />
menu </p>
<%END IF%>
<p><a href="enregistrement.asp?lang=EN">Registration</a><br />
menu </p>
<p><a href="contact.asp?lang=EN">Contact us</a><br />
menu </p>
</div>
<% End If %>
</div>
<div id="right">
<center> <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="716"
HEIGHT="80"
id="slideshow">
<PARAM NAME="movie" VALUE="slideshow\slideshow.swf?xml_source=slideshow\sample.xml"/>
<PARAM NAME="quality" VALUE="high" />
<PARAM NAME="bgcolor" VALUE="#000000" />
<param name="allowScriptAccess" value="sameDomain" />
<EMBED src="\slideshow\slideshow.swf?xml_source=slideshow\sample.xml"
quality="high"
bgcolor="#000000"
WIDTH="715"
HEIGHT="80"
NAME="slideshow"
allowScriptAccess="sameDomain"
swLiveConnect="true"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
</center>
<% If application("langue")="FR" Then %>
<ul id="MenuBar1" class="MenuBarHorizontal">
<% While ((NOT categorie.EOF)) %>
<li><a class="MenuBarItemSubmenu" href="/produits.asp?Num=<%=(categorie.Fields.Item("N°").Value)%>&lang=FR"><%=(categorie.F ields.Item("CategoryFR").Value)%> </a>
<%
dim rs,numProd
numProd=categorie.fields.item("N°").value
connstring="dsn=cieffeDB"
set rs=server.CreateObject("adodb.recordset")
rs.source = "select * from Produits where NumCategorie = " & numProd
rs.activeconnection = connstring
rs.locktype = 1
rs.open()%>
<ul>
<% While ( (NOT rs.EOF)) %>
<li><a class="MenuBarItemSubmenu" href="#"><%=(rs.Fields.Item("NomFR").Value)%></a>
<%
dim rs11,numCat
numCat=rs.fields.item("ID").value
connstring="dsn=cieffeDB"
set rs11=server.CreateObject("adodb.recordset")
rs11.source = "select * from marque where id_Produit = " & numCat
rs11.activeconnection = connstring
rs11.locktype = 1
rs11.open()%>
<ul>
<% While ( (NOT rs11.EOF)) %>
<li><a class="MenuBarItemSubmenu" href="#"><%=rs11.fields.item("marque").value%></a>
<%
dim rs12, numMarq
numMarq = rs11.fields.item("ID").value
connstring = "dsn=cieffeDB"
set rs12 = server.CreateObject("adodb.recordset")
rs12.source = "select * from produitsM where id_marque ="& numMarq
rs12.activeconnection = connstring
rs12.locktype = 1
rs12.open()
%>
<ul>
<%while (not rs12.EOF)%>
<li><a class="MenuBarItemSubmenu" href="#"><%=rs12.fields.item("nom").value%></a>
<%
dim rs13,numPrd
connstring = "dsn=cieffeDB"
numPrd = rs12.fields.item("ID").value
set rs13 = server.CreateObject("adodb.recordset")
rs13.source = "select * from type where id_produitM ="&NumPrd
rs13.activeconnection = connstring
rs13.locktype = 1
rs13.open()
%>
<ul>
<%while (not rs13.EOF)%>
<li><a class="MenuBarItemSubmenu" href="#"><%=rs13.fields.item("type").value%></a></li>
<%
rs13.movenext()
WEND
%>
<%
rs13.close()
set rs13 = nothing
%>
</ul>
</li>
<%rs12.movenext()
WEND
%>
</ul>
<% rs12.close()
set rs12=nothing
%>
</li>
<%rs11.movenext()
WEND%>
</ul>
<% rs11.close()
set rs11=nothing%>
</li>
<%
rs.MoveNext()
WEND%>
</ul>
</li>
<% rs.close()
set rs=nothing
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1%>
<%categorie.MoveNext()
Wend
%>
<%categorie.close()
Set categorie = categorie_cmd.Execute
categorie_numRows = 0
Repeat1__index = 0
Repeat1__numRows = 10%>
</ul>
<p> </p>
<p> </p>
<table border="1" >
<% While ((NOT categorie.EOF)) %>
<td width="96"><%=(categorie.Fields.Item("CommentaireFR").Value)%></td>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
categorie.MoveNext()
Wend
%>
</table>
<% End If %>
<% If application("langue")="NL" Then %>
<ul id="MenuBar1" class="MenuBarHorizontal">
<% While ((NOT categorie.EOF)) %>
<li><a class="MenuBarItemSubmenu" href="/produits.asp?Num=<%=(categorie.Fields.Item("N°").Value)%>&lang=NL"><%=(categorie.F ields.Item("CategoryNL").Value)%> </a>
<%
dim rs2,numProd2
numProd2=categorie.fields.item("N°").value
connstring="dsn=cieffeDB"
set rs2=server.CreateObject("adodb.recordset")
rs2.source = "select * from Produits where NumCategorie = " & numProd2
rs2.activeconnection = connstring
rs2.locktype = 1
rs2.open()%>
<ul>
<% While ( (NOT rs2.EOF)) %>
<li><a href="#"><%=(rs2.Fields.Item("NomNL").Value)%></a>
<%
dim rs21,numCat2
numCat2=rs2.fields.item("ID").value
connstring="dsn=cieffeDB"
set rs21=server.CreateObject("adodb.recordset")
rs21.source = "select * from marque where id_Produit = " & numCat2
rs21.activeconnection = connstring
rs21.locktype = 1
rs21.open()%>
<ul>
<% While ( (NOT rs21.EOF)) %>
<li><a href="#"><%=rs21.fields.item("marque").value%></a>
<%rs21.movenext()
WEND%>
<% rs21.close()
set rs21=nothing%></ul></li>
<%
rs2.MoveNext()
WEND%>
</ul>
</li>
<% rs2.close()
set rs2=nothing
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
categorie.MoveNext()
Wend
%>
<%categorie.close()
Set categorie = categorie_cmd.Execute
categorie_numRows = 0
Repeat1__index = 0
Repeat1__numRows = 10%>
</ul>
<p> </p>
<p> </p>
<table border="1" >
<% While ((NOT categorie.EOF)) %>
<td width="96"><%=(categorie.Fields.Item("CommentaireNL").Value)%></td>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
categorie.MoveNext()
Wend
%>
</table>
<% End If %>
<% If application("langue")="EN" Then %>
<ul id="MenuBar1" class="MenuBarHorizontal">
<% While ((NOT categorie.EOF)) %>
<li><a class="MenuBarItemSubmenu" href="/produits.asp?Num=<%=(categorie.Fields.Item("N°").Value)%>&lang=EN"><%=(categorie.F ields.Item("CategoryEN").Value)%> </a>
<%
dim rs3,numProd3
numProd3=categorie.fields.item("N°").value
connstring="dsn=cieffeDB"
set rs3=server.CreateObject("adodb.recordset")
rs3.source = "select * from Produits where NumCategorie = " & numProd3
rs3.activeconnection = connstring
rs3.locktype = 1
rs3.open()%>
<ul>
<% While ( (NOT rs3.EOF)) %>
<li><a href="#"><%=(rs3.Fields.Item("NomEN").Value)%></a>
</li>
<%
rs3.MoveNext()
WEND%>
</ul>
</li>
<% rs3.close()
set rs3=nothing
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
categorie.MoveNext()
Wend
%>
<%categorie.close()
Set categorie = categorie_cmd.Execute
categorie_numRows = 0
Repeat1__index = 0
Repeat1__numRows = 10%>
</ul>
<p> </p>
<p> </p>
<table border="1" >
<% While ((NOT categorie.EOF)) %>
<td width="96"><%=(categorie.Fields.Item("CommentaireFR").Value)%></td>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
categorie.MoveNext()
Wend
%>
</table><% End If %>
<table border="2">
<tr>
<td>image</td>
</tr>
<% While ((Repeat2__numRows <> 0) AND (NOT images.EOF)) %>
<tr>
<td><img src="<%=(images.Fields.Item("image").Value)%>" width="150" height="150" /></td>
</tr>
<%
Repeat2__index=Repeat2__index+1
Repeat2__numRows=Repeat2__numRows-1
images.MoveNext()
Wend
%>
</table>
</div>
</div>
</div>
</div>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
</html>
<%
images.Close()
Set images = Nothing
%>
<%
categorie.Close()
Set categorie = Nothing
%>
than the css
@charset "UTF-8";
/* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */
/* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
LAYOUT INFORMATION: describes box model, positioning, z-order
/* The outermost container of the Menu Bar, an auto width box with no margin or padding */
ul.MenuBarHorizontal
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
cursor: default;
width: auto;
background-color: #FF9000;
/* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
ul.MenuBarActive
z-index: 1000;
/* Menu item containers, position children relative to this container and are a fixed width */
ul.MenuBarHorizontal li
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
position: relative;
text-align: center;
cursor: pointer;
width: 102.5px;
float: left;
/* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
ul.MenuBarHorizontal ul
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
z-index: 1020;
cursor: default;
width: 100 px;
position: absolute;
left: -1000em;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
left: auto;
/* Menu item containers are same fixed width as parent */
ul.MenuBarHorizontal ul li
width: 100px;
/* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
ul.MenuBarHorizontal ul ul
position: absolute;
margin: -5% 0 0 95%;
/* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
left: auto;
top: 0;
DESIGN INFORMATION: describes color scheme, borders, fonts
/* Submenu containers have borders on all sides */
ul.MenuBarHorizontal ul
border: 1px solid #CCC;
/* Menu items are a light gray block with padding and no text decoration */
ul.MenuBarHorizontal a
display: block;
cursor: pointer;
background-color: #EEE;
height:35px;
padding: 7px 7px;
color: #333;
text-decoration: none;
/* Menu items that have mouse over or focus have a blue background and white text */
ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
background-color: #FF9000;
color: #FFF;
/* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
background-color: #FF9000;
color: #FFF;
SUBMENU INDICATION: styles if there is a submenu under a given menu item
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenu
background-image: url(boutonNorm.gif);
background-repeat: no-repeat;
/* background-position: 95% 50%;*/
size:auto;
/* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
background-image: url(boutonSourisDess.gif);
background-repeat: no-repeat;
/* background-position: 95% 50%;*/
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
background-image: url(boutonNorm.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
/* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
background-image: url(boutonSourisDess.gif);
background-repeat: no-repeat;
background-position: 95% 50%;
BROWSER HACKS: the hacks below should not be changed unless you are an expert
/* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
ul.MenuBarHorizontal iframe
position: absolute;
z-index: 1010;
filter:alpha(opacity:0.1);
/* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
@media screen, projection
ul.MenuBarHorizontal li.MenuBarItemIE
display: inline;
f\loat: left;
background: #FFF;
and for the end the js
// SpryMenuBar.js - version 0.12 - Spry Pre-Release 1.6.1
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of Adobe Systems Incorporated nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
SpryMenuBar.js
This file handles the JavaScript for Spry Menu Bar. You should have no need
to edit this file. Some highlights of the MenuBar object is that timers are
used to keep submenus from showing up until the user has hovered over the parent
menu item for some time, as well as a timer for when they leave a submenu to keep
showing that submenu until the timer fires.
var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget = {};
Spry.BrowserSniff = function()
var b = navigator.appName.toString();
var up = navigator.platform.toString();
var ua = navigator.userAgent.toString();
this.mozilla = this.ie = this.opera = this.safari = false;
var re_opera = /Opera.([0-9\.]*)/i;
var re_msie = /MSIE.([0-9\.]*)/i;
var re_gecko = /gecko/i;
var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;
var r = false;
if ( (r = ua.match(re_opera))) {
this.opera = true;
this.version = parseFloat(r[1]);
} else if ( (r = ua.match(re_msie))) {
this.ie = true;
this.version = parseFloat(r[1]);
} else if ( (r = ua.match(re_safari))) {
this.safari = true;
this.version = parseFloat(r[2]);
} else if (ua.match(re_gecko)) {
var re_gecko_version = /rv:\s*([0-9\.]+)/i;
r = ua.match(re_gecko_version);
this.mozilla = true;
this.version = parseFloat(r[1]);
this.windows = this.mac = this.linux = false;
this.Platform = ua.match(/windows/i) ? "windows" :
(ua.match(/linux/i) ? "linux" :
(ua.match(/mac/i) ? "mac" :
ua.match(/unix/i)? "unix" : "unknown"));
this[this.Platform] = true;
this.v = this.version;
if (this.safari && this.mac && this.mozilla) {
this.mozilla = false;
Spry.is = new Spry.BrowserSniff();
// Constructor for Menu Bar
// element should be an ID of an unordered list (<ul> tag)
// preloadImage1 and preloadImage2 are images for the rollover state of a menu
Spry.Widget.MenuBar = function(element, opts)
this.init(element, opts);
Spry.Widget.MenuBar.prototype.init = function(element, opts)
this.element = this.getElement(element);
// represents the current (sub)menu we are operating on
this.currMenu = null;
this.showDelay = 250;
this.hideDelay = 600;
if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (Spry.is.ie && typeof document.uniqueID == 'undefined'))
// bail on older unsupported browsers
return;
// Fix IE6 CSS images flicker
if (Spry.is.ie && Spry.is.version < 7){
try {
document.execCommand("BackgroundImageCache", false, true);
} catch(err) {}
this.upKeyCode = Spry.Widget.MenuBar.KEY_UP;
this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN;
this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT;
this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT;
this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC;
this.hoverClass = 'MenuBarItemHover';
this.subHoverClass = 'MenuBarItemSubmenuHover';
this.subVisibleClass ='MenuBarSubmenuVisible';
this.hasSubClass = 'MenuBarItemSubmenu';
this.activeClass = 'MenuBarActive';
this.isieClass = 'MenuBarItemIE';
this.verticalClass = 'MenuBarVertical';
this.horizontalClass = 'MenuBarHorizontal';
this.enableKeyboardNavigation = true;
this.hasFocus = false;
// load hover images now
if(opts)
for(var k in opts)
if (typeof this[k] == 'undefined')
var rollover = new Image;
rollover.src = opts[k];
Spry.Widget.MenuBar.setOptions(this, opts);
// safari doesn't support tabindex
if (Spry.is.safari)
this.enableKeyboardNavigation = false;
if(this.element)
this.currMenu = this.element;
var items = this.element.getElementsByTagName('li');
for(var i=0; i<items.length; i++)
if (i > 0 && this.enableKeyboardNavigation)
items[i].getElementsByTagName('a')[0].tabIndex='-1';
this.initialize(items[i], element);
if(Spry.is.ie)
this.addClassName(items[i], this.isieClass);
items[i].style.position = "static";
if (this.enableKeyboardNavigation)
var self = this;
this.addEventListener(document, 'keydown', function(e){self.keyDown(e); }, false);
if(Spry.is.ie)
if(this.hasClassName(this.element, this.verticalClass))
this.element.style.position = "relative";
var linkitems = this.element.getElementsByTagName('a');
for(var i=0; i<linkitems.length; i++)
linkitems[i].style.position = "relative";
Spry.Widget.MenuBar.KEY_ESC = 27;
Spry.Widget.MenuBar.KEY_UP = 38;
Spry.Widget.MenuBar.KEY_DOWN = 40;
Spry.Widget.MenuBar.KEY_LEFT = 37;
Spry.Widget.MenuBar.KEY_RIGHT = 39;
Spry.Widget.MenuBar.prototype.getElement = function(ele)
if (ele && typeof ele == "string")
return document.getElementById(ele);
return ele;
Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
return false;
return true;
Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
if (!ele || !className || this.hasClassName(ele, className))
return;
ele.className += (ele.className ? " " : "") + className;
Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
if (!ele || !className || !this.hasClassName(ele, className))
return;
ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
// addEventListener for Menu Bar
// attach an event to a tag without creating obtrusive HTML code
Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
try
if (element.addEventListener)
element.addEventListener(eventType, handler, capture);
else if (element.attachEvent)
element.attachEvent('on' + eventType, handler);
catch (e) {}
// createIframeLayer for Menu Bar
// creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
var layer = document.createElement('iframe');
layer.tabIndex = '-1';
layer.src = 'javascript:""';
layer.frameBorder = '0';
layer.scrolling = 'no';
menu.parentNode.appendChild(layer);
layer.style.left = menu.offsetLeft + 'px';
layer.style.top = menu.offsetTop + 'px';
layer.style.width = menu.offsetWidth + 'px';
layer.style.height = menu.offsetHeight + 'px';
// removeIframeLayer for Menu Bar
// removes an IFRAME underneath a menu to reveal any form controls and ActiveX
Spry.Widget.MenuBar.prototype.removeIframeLayer = function(menu)
var layers = ((menu == this.element) ? menu : menu.parentNode).getElementsByTagName('iframe');
while(layers.length > 0)
layers[0].parentNode.removeChild(layers[0]);
// clearMenus for Menu Bar
// root is the top level unordered list (<ul> tag)
Spry.Widget.MenuBar.prototype.clearMenus = function(root)
var menus = root.getElementsByTagName('ul');
for(var i=0; i<menus.length; i++)
this.hideSubmenu(menus[i]);
this.removeClassName(this.element, this.activeClass);
// bubbledTextEvent for Menu Bar
// identify bubbled up text events in Safari so we can ignore them
Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
// showSubmenu for Menu Bar
// set the proper CSS class on this menu to show it
Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
if(this.currMenu)
this.clearMenus(this.currMenu);
this.currMenu = null;
if(menu)
this.addClassName(menu, this.subVisibleClass);
if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
if(!this.hasClassName(this.element, this.horizontalClass) || menu.parentNode.parentNode != this.element)
menu.style.top = menu.parentNode.offsetTop + 'px';
if(Spry.is.ie && Spry.is.version < 7)
this.createIframeLayer(menu);
this.addClassName(this.element, this.activeClass);
// hideSubmenu for Menu Bar
// remove the proper CSS class on this menu to hide it
Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
if(menu)
this.removeClassName(menu, this.subVisibleClass);
if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
menu.style.top = '';
menu.style.left = '';
if(Spry.is.ie && Spry.is.version < 7)
this.removeIframeLayer(menu);
// initialize for Menu Bar
// create event listeners for the Menu Bar widget so we can properly
// show and hide submenus
Spry.Widget.MenuBChange
ul.MenuBarHorizontal ul
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
z-index: 1020;
cursor: default;
width: 100 px;
position: absolute;
left:
-1000em;
to
ul.MenuBarHorizontal ul
margin: 0;
padding: 0;
list-style-type: none;
font-size: 100%;
z-index: 1020;
cursor: default;
width: 100px;
position: absolute;
left:
-1000em;
I hope this helps.
Ben -
Problem displaying data in Crystal Viewer
Hi,
First time posting on here, so apologies if I've got the wrong thread....
Currently developing an application that uses ASP, via a COM+ object to connect to SQL Server 2005 Db. My problem is that since the users default printer might not be visible on the application server anymore, we have had to use a Crystal viewer on the front end to print. To do this we have moved some code from the COM+ and placed it in an asp page.
This page then creates a connection and runs a stored procedure, putting the results of the query into a recordset. This is then used to populate CrystalRuntime Application, Report and PageEngine objects. This page #Includes the SmartViewerActiveX.asp file which then in turn calls rptserver.asp.
The viewer is displayed on the screen, but with the fields displaying only the field types, no data from the Db is displayed. I have no idea why and am at my wits end!!! Can anyone give any advice or hints that I could investigate. I've never used Crystal Viewer before and could do with any helpfull advice. The SmartViewerActiveX.asp and rptserver.asp files have not been ameneded. Do I need to do anything with the ttx files????
Thanks in advance....
Code of the originating asp page :-
<object runat=server progid = Print.print id=objPrint></object>
<object runat=server progid = com.session id=objSession></object>
<object runat=server progid = com.login id=objLogin></object>
<object runat=server progid = com.request id=objRequest></object>
<!#INCLUDE FILE="gen_funcs.asp">
<!#INCLUDE FILE="adovbs.inc">
<%
Dim rsSession
Dim strUserID
Dim iUserType
Dim strSalutation1
Dim strNewRequestASP
Dim rsDetails
Dim varRetValue
Dim Comm
Dim Conn
Dim ADORs
Dim adoRS1
Dim adoRS2
Dim adoRS3
Dim oApp
Dim oRpt
Dim oPageEngine
strUserID = getWindowsLogIn
'Retrieve Session Data from session object
Set rsSession = objSession.GetDetails(strUserID)
strSalutation = rsSession.Fields("login_data")
iUserType = rsSession.Fields("user_type")
Set rsSession = Nothing
varRetValue = "true"
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
set Comm = Server.CreateObject("ADODB.Command")
set Conn = Server.CreateObject("ADODB.Connection")
set session("AdoRS") = Server.CreateObject("ADODB.Recordset")
Comm.CommandTimeout=60
mStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=DEV;Data Source=GBNBS1501;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=GBNBS0500;Use Encryption for Data=False;Tag with column collation when possible=False"
mstr=replace(mstr, "Integrated Security=SSPI;","")
Conn.Open Mstr & ";Trusted_Connection=no", "crystaluser", "crystalpassword"
set Comm.ActiveConnection = Conn
Comm.CommandText = "usp_get_customer_letter"
Comm.CommandType = adCmdStoredProc
Comm.Parameters.Append Comm.CreateParameter("@requestID", adBigInt, adParamInput, 8, Request.QueryString("RequestID"))
set session("AdoRS") = Comm.Execute
If Not IsObject (session("oApp")) Then
set session("oApp") = Server.CreateObject("CrystalRuntime.Application.11")
End If
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
'This "While/Wend" loop is used to determine the physical path (eg: C:\) to the
'Crystal Report file by translating the URL virtual path (eg: http://Domain/Dir)
dim path
Path = Request.ServerVariables("PATH_TRANSLATED")
While (Right(Path, 1) <> "\" And Len(Path) <> 0)
iLen = Len(Path) - 1
Path = Left(Path, iLen)
Wend
path=path + "Reports\"
set session("oRpt") = session("oApp").OpenReport(path & "Letter.rpt", 1)
session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
session("oRpt").DiscardSavedData
Set crDatabase = session("oRpt").Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, session("AdoRS")
on error resume next
adoRS1 = objPrint.GetSubReportSuccessful(Request.QueryString("RequestID"))
adoRS2 = objPrint.GetSubReportUnsuccessful(Request.QueryString("RequestID"))
'This section adds subreport data for successful traces to the letter
If adoRS1.EOF = False Then
Set crSections = session("oRpt").Sections
For x = 1 To crSections.Count
Set crSection = crSections(x)
Set crReportObjs = crSection.ReportObjects
For y = 1 To crReportObjs.Count
If crReportObjs.Item(y).Kind = crSubreportObject Then
Set crSubreportObj = crReportObjs.Item(y)
If crSubreportObj.Name = "Schemes" Or crSubreportObj.Name = "WelshSchemes" Then
Set crSubreport = session("oRpt").OpenSubreport(crReportObjs(y).Name)
crSubreport.DiscardSavedData
Set crDatabase = crSubreport.Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, adoRS1
End If
End If
Next
Next
End If
'This section adds subreport data for unsuccessful traces to the letter
If adoRS2.EOF = False Then
Set crSections = session("oRpt").Sections
For x = 1 To crSections.Count
Set crSection = crSections(x)
Set crReportObjs = crSection.ReportObjects
For y = 1 To crReportObjs.Count
If crReportObjs.Item(y).Kind = crSubreportObject Then
Set crSubreportObj = crReportObjs.Item(y)
If crSubreportObj.Name = "Unsuccessful_traces" Then
Set crSubreport = oRpt.OpenSubreport(crReportObjs(y).Name)
crSubreport.DiscardSavedData
Set crDatabase = crSubreport.Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, adoRS2
End If
End If
Next
Next
End If
session("oRpt").ReadRecords
If IsObject(session("oPageEngine")) Then
set session("oPageEngine") = nothing
End If
set session("oPageEngine") = session("oRpt").PageEngine
set Conn = nothing
set Comm = nothing
%>
<!-- #include file="SmartViewerActiveX.asp" -->
<%Here's the code...
<object runat=server progid = Print.print id=objPrint></object>
<object runat=server progid = com.session id=objSession></object>
<object runat=server progid = com.login id=objLogin></object>
<object runat=server progid = com.request id=objRequest></object>
<!#INCLUDE FILE="gen_funcs.asp">
<!#INCLUDE FILE="adovbs.inc">
<%
Dim rsSession
Dim strUserID
Dim iUserType
Dim strSalutation1
Dim strNewRequestASP
Dim rsDetails
Dim varRetValue
Dim Comm
Dim Conn
Dim ADORs
Dim adoRS1
Dim adoRS2
Dim adoRS3
Dim oApp
Dim oRpt
Dim oPageEngine
strUserID = getWindowsLogIn
'Retrieve Session Data from session object
Set rsSession = objSession.GetDetails(strUserID)
strSalutation = rsSession.Fields("login_data")
iUserType = rsSession.Fields("user_type")
Set rsSession = Nothing
varRetValue = "true"
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
set Comm = Server.CreateObject("ADODB.Command")
set Conn = Server.CreateObject("ADODB.Connection")
set session("AdoRS") = Server.CreateObject("ADODB.Recordset")
Comm.CommandTimeout=60
mStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=DEV;Data Source=GBNBS1501;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=GBNBS0500;Use Encryption for Data=False;Tag with column collation when possible=False"
mstr=replace(mstr, "Integrated Security=SSPI;","")
Conn.Open Mstr & ";Trusted_Connection=no", "crystaluser", "crystalpassword"
set Comm.ActiveConnection = Conn
Comm.CommandText = "usp_get_customer_letter"
Comm.CommandType = adCmdStoredProc
Comm.Parameters.Append Comm.CreateParameter("@requestID", adBigInt, adParamInput, 8, Request.QueryString("RequestID"))
set session("AdoRS") = Comm.Execute
If Not IsObject (session("oApp")) Then
set session("oApp") = Server.CreateObject("CrystalRuntime.Application.11")
End If
If IsObject(session("oRpt")) then
Set session("oRpt") = nothing
End if
'This "While/Wend" loop is used to determine the physical path (eg: C:\) to the
'Crystal Report file by translating the URL virtual path (eg: http://Domain/Dir)
dim path
Path = Request.ServerVariables("PATH_TRANSLATED")
While (Right(Path, 1) <> "\" And Len(Path) <> 0)
iLen = Len(Path) - 1
Path = Left(Path, iLen)
Wend
path=path + "Reports\"
set session("oRpt") = session("oApp").OpenReport(path & "Letter.rpt", 1)
session("oRpt").MorePrintEngineErrorMessages = False
session("oRpt").EnableParameterPrompting = False
session("oRpt").DiscardSavedData
Set crDatabase = session("oRpt").Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, session("AdoRS")
on error resume next
adoRS1 = objPrint.GetSubReportSuccessful(Request.QueryString("RequestID"))
adoRS2 = objPrint.GetSubReportUnsuccessful(Request.QueryString("RequestID"))
'This section adds subreport data for successful traces to the letter
If adoRS1.EOF = False Then
Set crSections = session("oRpt").Sections
For x = 1 To crSections.Count
Set crSection = crSections(x)
Set crReportObjs = crSection.ReportObjects
For y = 1 To crReportObjs.Count
If crReportObjs.Item(y).Kind = crSubreportObject Then
Set crSubreportObj = crReportObjs.Item(y)
If crSubreportObj.Name = "Schemes" Or crSubreportObj.Name = "WelshSchemes" Then
Set crSubreport = session("oRpt").OpenSubreport(crReportObjs(y).Name)
crSubreport.DiscardSavedData
Set crDatabase = crSubreport.Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, adoRS1
End If
End If
Next
Next
End If
'This section adds subreport data for unsuccessful traces to the letter
If adoRS2.EOF = False Then
Set crSections = session("oRpt").Sections
For x = 1 To crSections.Count
Set crSection = crSections(x)
Set crReportObjs = crSection.ReportObjects
For y = 1 To crReportObjs.Count
If crReportObjs.Item(y).Kind = crSubreportObject Then
Set crSubreportObj = crReportObjs.Item(y)
If crSubreportObj.Name = "Unsuccessful_traces" Then
Set crSubreport = oRpt.OpenSubreport(crReportObjs(y).Name)
crSubreport.DiscardSavedData
Set crDatabase = crSubreport.Database
Set crTables = crDatabase.Tables
Set crTable = crTables.Item(1)
crTable.SetPrivateData 3, adoRS2
End If
End If
Next
Next
End If
session("oRpt").ReadRecords
If IsObject(session("oPageEngine")) Then
set session("oPageEngine") = nothing
End If
set session("oPageEngine") = session("oRpt").PageEngine
set Conn = nothing
set Comm = nothing
%>
<!-- #include file="SmartViewerActiveX.asp" -->
<% -
Problem installing ActiveX viewer in Windows 7
Hello,
We downloaded the public beta of Windows 7 today and I am getting an error in our web application when it tries to install the Crystal Reports XI ActiveX report viewer (version 11.0.0.1424 of crviewer.dll). IE8 will issue its normal prompt to ask you if you want to install the control, but after that, the little object image in the upper-left corner of the page turns to a red X.
I tried using the sample code which comes with Crystal XI (SimplePreviewReport.asp in the "BeginHere" folder) and that had the same problem. I put some debug code into SmartViewerActiveX.asp and found that I was getting an "ActiveX component can't create object" error on this line:
Set webBroker = CreateObject("CrystalReports11.WebReportBroker.1")
I don't think it's a security issue because I am an administrator on the machine and I didn't have any problems installing other ActiveX controls. I tried running the web site in both the Local Intranet zone as well as the Trusted Sites zone. I'm also thinking that the issue is more with Windows 7 than IE8 because I have IE8 Beta 2 installed on a Windows XP machine and the Crystal ActiveX viewer installs just fine there.
Thanks in advance for any suggestions!XI R2 is more then an incremental update in some aspects to XI R1. They are officially versioned 11 and 11.5 and XI R2 is considered a new release. However in most aspects to a Crystal R1 customer XI R2 doesn't offer much more in functionality other than it is more up-to-date and is still receiving updates and patches.
With out looking at Operating Systems or other factors I generally recommend R1 customers move to R2 so they are kept up-to-date. However being an new version that does mean you will need to update your projects to call the R2 runtime, and then you can use the R2 merge modules.
As for how R2 merge modules work with Windows 7 I cannot say. We will have to wait until Windows 7 final build comes out before we will get a list of supported products on this Operating System, and this can take upwards of 3 months after the OS is released. I would hazard a guess (NOTE: GUESS is the important word here) that R1 and R2 will not be certified with Windows 7. This does not mean it will not work, but does mean it will not be tested and if errors are found that are particular to this OS they will not be fixed.
Remember that this is just a guess, based on R2 being 3 years old and nearing end of its patch cycle and Windows 7 being at least 4 months away. However this cannot be concidered an official statement it is just my personal opinion. Enough caveats there?
Trevor -
Hi Gurus,
I have this problem in my MS SQL Server 2012 that is running in SQL Server 2008 R2 Enterprise 64 bit.. Not sure why... Here is the full details of the error:
Microsoft OLE DB Provider for ODBC Drivers 80040E14
[Microsoft][ODBC SQL Server Driver][SQL Server]The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.
/Libraries/DBA/DBA.asa, line 717
Line 717 is this:
rs.open destTableName,,,,adCmdTable
Full details of the code:
'Field object used to iterate through each field of the rs
dim rs, fld
'call dbInitRS(rs)
set rs = server.createobject("adodb.recordset")
'On Error Resume Next
'Open rs
set rs.activeConnection = myConnection
rs.cursorType = adOpenKeyset
rs.lockType = adLockOptimistic
'rs.open destTableName
rs.open destTableName,,,,adCmdTable
'if err.number <> 0 then
' goto HandleError
'end if
rs.addNew
Any ideas how to solve this problem?
ThanksStill does not work. I have allow MSDSTC in my firewall list.
Hi dudskie,
Have you try to use DTCTester or DTCPing to verify MSDTC functionality over the network? Please refer to the following article:
Troubleshooting Problems with MSDTC:
http://msdn.microsoft.com/en-us/library/aa561924.aspx
Use the DTCTester utility to verify transaction support between two computers if SQL Server is installed on one of the computers. The DTCTester utility uses ODBC to verify transaction support against a SQL Server database. For more information about
DTCTester see How to Use DTCTester Tool.
Use DTCPing to verify transaction support between two computers if SQL Server is not installed on either computer. The DTCPing tool must be run on both the client and server computer and is a good alternative to the DTCTester utility when SQL Server
is not installed on either computer. For more information about DTCPing, see
How to troubleshoot MS DTC firewall issues.
If you have any feedback on our support, please click
here.
Hope this helps.
Regards,
Elvis Long
TechNet Community Support -
SMS Provider Locations Do Not Match - Problem installing SCCM 2012 R2 CU4
I have an SCCM 2012R2 CU1 site that has been upgraded from SCCM 2012 non-SP1, so I have gone from 2012 to 2012SP1 through CU5 and then to R2 and then to CU1.
Over the course of the life of this site, which has more than 10k clients and 10 Site Systems, we have installed roles, removed roles, moved roles and removed Site Systems.
I have also installed and removed SMS providers . . . which is where my issues begin.
The site properties in the console list 6 SMS Providers and even lists an SMS provider on a server that was retired and is no longer a Site System. When I query WMI using the following VBS script it only returns the *ACTUAL* SMS Provider locations,
2 of the 6 listed in the GUI.
On Error Resume Next
Const ForReading = 1, ForWriting = 2, ForAppending = 8
strComputer = "."
Set oFS = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\sms")
If Err.Number <> 0 Then
WScript.Echo "Cannot connect to WMI"
WScript.Echo vbTab & "Error " & Err.Number & " - " & Err.Description
End If
Set oLog = oFS.OpenTextFile("C:\Temp\SMS_ProvList.log",ForAppending, True)
If Err.Number <> 0 Then
WScript.Echo "Could not create output file"
WScript.Echo vbTab & "Error " & Err.Number & " - " & Err.Description
End If
Set colItems = objWMIService.ExecQuery("SELECT * FROM SMS_ProviderLocation",,48)
count = 0
For Each objItem in colItems
count = count + 1
oLog.WriteLine "-----------------------------------"
oLog.WriteLine Now()
oLog.WriteLine "Provider instance " & count & " : " & objItem.Machine
oLog.WriteLine "NamespacePath : " & objItem.NamespacePath
oLog.WriteLine ""
Next
I have a test environment which has also gone through some growth over its lifetime and has had the same changes to SMS Providers made. When I first attempted to install SCCM 2012 R2 CU4 in this test environment the installer continually failed the
prerequisite checker when querying the CU level of the SMS Providers. The only way that I could get past that issue was by running a site maintenance task via the CM installer and installing an SMS Provider at the location that had previously been an
SMS Provider but I had uninstalled that role.
I do not want to have to do that in my production environment, and would not even be able to do so if I wanted as I have retired one of the servers listed and cannot re-provision that machine.
Any CM12 gurus out there with suggestions? This strikes me as a standard MS problem when having multiple development teams working on a product/update and not having a standard location to check for configuration information (This is exactly the problem
when configuring DNS suffixes via GPO and not manually setting the GUI to match).
Thanks!
Josh Gerner
Cornell University.The issue I have is that I cannot find the WMI class that holds the SMS Providers that are returned by the GUI.
I actually engaged MS Premier for a SCCM 2012 RAAS about 2 years ago and that was when the discrepancy first reared it's head. The support person that I worked with couldn't give me a way of cleaning those entries at that point which is when I started
logging the locations to be sure that my maintenance task was really installing or removing the SMS Providers.
Josh Gerner -
A lot of problems with Oracle and ASP
Hi, i need to develop a system using ASP and Oracle. I should have started this about 3 weeks ago and I can't in any way connect these 2 technologies.
First, I tried through ODBC and it could not be done.
Next, I tried through OLEDB and when I thought that the problem was found...
set objSessao = Server.CreateObject("OracleInProcServer.XOraSession")
set objConexao = OraSession.DbOpenDatabase("mozart", "jacto_revendas/bolinha",cint(0))
These 2 lines seems to be correct, then I had the error "access to object denied", and I read in some forum that it was because some DLLs of %oracle_home%\bin were without permission. I scanned all of them, and gave full access. OK. Then, an error ASP 0177 (error accessing DLL library) appeared and I could not find solution over the Internet.
And the incredible part is that the error only happens as soon as I start the OS... the second time I try, the script stops and does not show any errors or results... the page keeps processing without an end.
Please, I can't find anyone that can help me... you are my last hope...
thanks
MozartI agree with your suggestion about needing more documentation for APS.NET & Oracle connections. And so the next question is who knows where to find such docs? I've scoured the Oracle & MSDN sites, and have found nothing addressing these permission problems -- at least nothing that fixes the problem. See my recent postings about "access denied exceptions". I've been trying for several weeks to get it fixed, w/o success although I think I'm getting closer & just about to give the ASPNET user total control over EVERYTHING in the oracle home directory tree.
-
Problem using Illustrator CS5 and CC 2014 in same PC
Hi,
I am developing some Illustrator scripts using VBScript, which should work on CS5, CS6 or CC 2014. When the scripts will be called, the user will pass, as command line argument, which Illustrator version they want to use. Accordingly I am instantiating the appropriate Illustrator scripting object by the following code:
If version = 1 Then
Set appRef = CreateObject("Illustrator.Application.CS5")
ElseIf version = 2 Then
Set appRef = CreateObject("Illustrator.Application.CS6")
ElseIf version = 3 Then
Set appRef = CreateObject("Illustrator.Application.CC.2014")
Else
Set appRef = CreateObject("Illustrator.Application")
End if
This is working correctly in one system where CS5 and CC 2014 are both installed. However, in another similar system, where CS5 and CC 2014 are both installed, this is failing. There, always the CC 2014 version is being used, even when the user wants to use CS5. On inspection it is found that the issue is with registry entry of LocalServer32 subkey of the Illustrator.Application.CS5 automation object. There I see, the path of CC 2014 executable is stored, not that of CS5. The value is C:\Program Files\Adobe\Adobe Illustrator CC 2014 (32 Bit)\Support Files\Contents\Windows\Illustrator.exe /automation. Hence, the statement CreateObject("Illustrator.Application.CS5") is actually starting the CC 2014 Illustrator version.
Does anyone know how this could have happened? Is this some installation behavior of CS5 or CC 2014, that can be controlled? In this machine CC 2014 was installed after CS5. Does CC 2014 change the registry settings of CS5, if it was installed? That seems very unlikely, as then how can one use both CS5 and CC 2014 in a system through scripts? It is possible that this is a one-off case where the registry entries have been "accidentally" changed. However, I would like to be sure.
I can re-install CS5 in this system where the issue is noted and probably the problem will go away. However, the scripts may be used in many different installations and I cannot possibly ask users to reinstall Illustrator everywhere. Moreover, this problem can occur sometimes in the future too.
Any suggestion regarding the cause and a possible full-proof solution will be highly appreciated.
Thanks in advance,
Joydeep Rayare you referring to the audio meters panel? im on windows, and i can right click the meters panel and get options for "dynamic peaks". there are audio effects, from the effects panel if thats what you are looking for? i have one named "Dynamics" as well as several compressors.
-
Problem in loading Flash Components
Hai,
I have a problem in loading flash components using
actionscript.
Example( List Components).
I can load List components dynamically using frame script
like.
import mx.controls.List;
var myList:List = createObject("List","nList",10);
But I can't load dynamically from inside a class file like.
import mx.controls.List;
class testClass{
private var myList;
function testClass( ){
myList = createObject( "List","nList",10 );
But it is not working i don't know why ?
If any one knows Please reply me.
Thank you.The over flash file works if i'm loading images direct from a
path but, i'm using php script to pull the files in binary format
and, it's causing problems in in firefox.. -
Problem refreshing reports with params in the Interactive viewer from ASP
I have a problem getting reports to refresh by clicking the Interactive Viewer's refresh button and reusing the supplied parameters. I am seeing this exact same problem on both V9.2 and 11.5 unmanaged RAS servers.
I am using the following function code to set the reports parameters:
Public Sub PassParameter(param_index, param_value, param_is_multi,param_range_kind)
Dim param_old ' parameter field in the report
Dim param_new ' parameter field that will replace old parameter
Dim paramValue ' discrete parameter value
Dim aValues
Dim rValues
Dim iLoop
Set param_old = clientDoc.DataDefinition.ParameterFields.Item(param_index)
Set param_new = objFactory.CreateObject("CrystalReports.ParameterField";)
If param_range_kind = 1 then
Set paramValue = objFactory.CreateObject("CrystalReports.ParameterFieldDiscreteValue";)
paramValue.Value = param_value
else
Set paramValue = objFactory.CreateObject("CrystalReports.ParameterFieldRangeValue";)
rValues = split(param_value, "|")
paramValue.BeginValue = rValues(0)
paramValue.EndValue = rValues(1)
paramValue.LowerBoundType = 2
paramValue.UpperBoundType = 2
end if
param_old.CopyTo param_new
if param_is_multi = 0 then
param_new.CurrentValues.Add paramValue
else
aValues = split(param_value, ",")
For iLoop = LBound(aValues) to UBound(aValues)
param_new.CurrentValues.Add Trim(aValues(iLoop))
Next
end if
clientDoc.DataDefController.ParameterFieldController.Modify param_old, param_new
' Clean up
Set paramValue = Nothing
Set param_new = Nothing
End Sub
and then redirecting to another ASP page to invoke the viewer (the report "clientDoc" object is passed to the viewer asp page a s a session variable). The code of the viewer page is:
<%
Response.ExpiresAbsolute = Now() - 1
Response.Charset=";UTF-8"
Dim clientDoc
Set clientDoc = session("clientDoc")
Dim ObjFactory, RptAppSession
Set ObjFactory = CreateObject("CrystalReports.ObjectFactory";)
Dim viewer
Set viewer = ObjFactory.CreateObject("CrystalReports.CrystalReportInteractiveViewer";)
viewer.PageTitle = "Interactive Report - " & Request("rptnam")
viewer.IsOwnForm = true
viewer.IsOwnPage = true
viewer.HasRefreshButton = true
viewer.EnableParameterPrompt = false
viewer.ReuseParameterValuesOnRefresh ; = true
viewer.HasExportButton = false
' viewer.HasPrintButton = false
viewer.ReportSource = clientDoc.ReportSource
Dim BooleanSearchControl
Set BooleanSearchControl = ObjFactory.CreateObject("CrystalReports.BooleanSearchControl";)
BooleanSearchControl.ReportDocument = clientDoc
viewer.BooleanSearchControl = BooleanSearchControl
viewer.ProcessHttpRequest Request, Response, Session
%>
If I set viewer.EnableParameterPrompt = false then I get an erro upon clicking the viewer's refresh button (error is: Missing parameter values. webReporting.dll error '8004100e' ), but if I set viewer.EnableParameterPrompt = true, then I get the automatically generated prompts appear but they are all empty. Either way, RAS doesn't remember the supplied parameters. I know the parameters are being read by RAS as the report's contents prove this fact, but they are not remembered after refreshing. If the automatically generated prompts are filled in and submitted, subsequent refreshes work correctly.
How do I get the report viewer to reuse the parameters that have been set programmatically after a refresh? BTW, changing my implementation to anything other than using ASP against an unmanaged RAS server is not an option at this time.
Thanks in advance!
Dave.Hi Dave,
I don't have a "nice" set of code lines but below hard codes one parameter name and value:
ISCRParameterField newParameterField = new ParameterFieldClass();
newParameterField.ParameterType = crParameterFieldTypeEnum.crParameterFieldTypeReportParameter;
newParameterField.Name = "YourParamName"; // you can make a collection here
newParameterField.ReportName = "";
newParameterField.Type = CrFieldValueTypeEnum.crFieldValueTypeStringField;
newParameterField.AllowMultiValue = true;
newParameterField.AllowCustomCurrentValues = true;
Fields parameterFields = reportClientDocument.DataDefinition.ParameterFields;
ISCRField existingParameterField;
RowsetMetaData rowsetMetaData = new RowsetMetaDataClass();
Fields fields = new FieldsClass();
ArrayList defaultValues = new ArrayList();
reportClientDocument.DataDefController.ParameterFieldController.SetCurrentValue("", @"YourParamName", @"YourParamValue");
Thanks again
Don
Maybe you are looking for
-
Need Help Uninstalling PP CS4 Trial
I have had CS4 Design Standard on my pc for a while now. I recently downloaded the trial version of Premiere Pro CS4 which has now expired. I have decided not to purchase it and would like to uninstall it (it takes up a lot of space that I would li
-
Oracle-Linux 11g Install error
Hi guys, After starting Ora installer on Linux I'm getting this error: Invalid source path '../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles' specified for unzip. Unzip command failed. Please check oraparam.ini and specify a valid source path. :
-
Doubt on quick mask mode?
Hi i have 3 layers in photoshop. Background layer1 layer2 Now on layer 2 i did a selection and entered into quick mask mode and then applied gussian blur. When this is done does the selection borders try to blend with the back ground or will they try
-
Hi i have following scenario i load my data successfully in target table with following columns 1. ID 2. CalledPartyNo 3. CallingPartyNo 4. Status 5. ActualMinutes 6. BilledMinutes 7. LocationKey 8. TariffId 9. TariffCode 10. TariffGrp 11. CalledOper
-
I purchased the 3g iPad for use at a course in England and Ireland. Once there, it worked only when there was wi-fi. The same was true in Ireland. I went to the only store in Dublin that sells and services Apple products and they could not get the iP