|
Download the Application Updater Block from MS Samples and look at the code there.
|
|
|
|
|
I am woking on an application that makes calls to Adobe Acrobat. Acrobat can only be manipulated externally using JavaScript. Trying to port the JavaScript commands into my VB.Net application (Windows based not ASP or Web) has been extremely diffcult.
Is there a method, class or reference which allows me to bring the JavaScript into the project and complie into VB.net code?
I found an application on this website that converts the JavaScript to VB.Net or C# code, but the end result is made to be displayed in a web browser (no good for my Windows app).
Any suggestions/help will be appreciated.
Peter Hesse
|
|
|
|
|
I'm having a very hard time believeing that Acrobat can only be manipulated by Javascript, considering Acrobat exposes a bunch of COM interfaces. After all, there's nothing special about Javascript that gives it exclusive privleges over Acrobat.
There is really no good utility to convert Javascript to VB.NET. The best way to do it is by hand. What does the code look like, in Javascript, you need to convert to VB.NET?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
From the Adobe Acrobat 6.0 SDK:
Acrobat 6.0 provides a rich set of JavaScript programming interfaces that are designed to be used within the Acrobat environment. It also provides a mechanisim (know as JSObject) that allows external clients to access the same functionality from enviroments such as Visual Basic.
That being said, here is a typical snippet I am dealing with. This one digitally signs a PDF document and sets certain properties of the signature.
var myEngine = security.getHandler( "Adobe.PPKLite" );
myEngine.login( "dps017", "/c/profile/dps.pfx" );
var f = this.getField("Signature");
// Sign the field
f.signatureSign( myEngine,
{ password: "dps017", // provide password
location: "San Jose, CA", // ... see note below
reason: "I am approving this document",
contactInfo: "dpsmith@adobe.com",
appearance: "Fancy"});
I have figured out how to set up the document and have actually figured out the code to create the digital signature block. When signning however, f.signatureSign has several variables that must be passed in the form of objects, with each object containing several properties. In the example above, the location: and reason: are part of a signatureInfo object know as oInfo.
I tried to create a structure and then create an object based upon that structure, but it throws an error.
If you can help I can send a snippet of my code that may give you a better idea of how Adobe claims the JavaScript should be implemented.
Thanks for your reply,
Peter Hesse
|
|
|
|
|
Hi,
By default PictureBox, Label or TextBox controls show rectangle corners. I need to draw these controls so that they have rounded corner. Any ideas?
Thanks.
|
|
|
|
|
You'll either have to find 3rd party controls that do this or write them yourself. Basically, for each control you want to change, you'll create a control class that inherits from one of the controls you want to modify. Then, you'll have to override the OnPaint method and supply your own painting code to draw the control how you want.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
There is a client LAN_CLIENT who is on LAN (office, university or any other place). There is a HOME_CLIENT connected directly to the internet. Now how HOME_CLIENT can communicate with the person who is sitting in the LAN i.e LAN_CLIENT, as LAN's IP is not the same as that of internet. Both are using winsock control of VB 6 application(UDP).
Both users have to be connected directly i.e no server. So how the data of HOME_CLIENT will pass through LAN's server & reach LAN_CLIENT's PC.
I don't want to use port forwarding done manualy in router.
I'll be very thankful for the reply.
Try to go in 1 direction.
|
|
|
|
|
curious_keen wrote:
I don't want to use port forwarding done manualy in router.
Since there is no direct route between the local network that the LAN_CLIENT machine is on and the Internet, you MUST use some kind of forwarding or Proxy server on the LAN_CLIENT side. I'm assuming the the LAN_CLIENT sits on the safe side of a firewall. That firewall must be configured to allow either the connection originating from the LAN_CLIENT to the HOME_CLIENT or must be configured to allow the connection originating from the HOME_CLIENT going to the LAN_CLIENT, on the ports your using.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
The LAN in which I am there is neither proxy nor any firewall. But Yahoo messenger & MSN messenger works fine. Also file transfer seems to be direct (because of speed) as tested in MSN messenger, so how Yahoo & MSN messenger connect 2 people directly.
So how the data which reaches server will reach the LAN_CLIENT...?
Try to go in 1 direction.
|
|
|
|
|
curious_keen wrote:
so how Yahoo & MSN messenger connect 2 people directly.
They don't. It goes through a relay server. IF your network address is not an Internet address then there MUST be some kind of translating proxy or firewall or whatever between your machine and the Internet.
curious_keen wrote:
Also file transfer seems to be direct (because of speed)
The speed of a transfer is NOT a method of determining how the message is being transferred from one machine to the other.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi!
I have created one class library in C# with some overloaded functions like,
public void AddColumn(string val){};
public void AddColumn(string val, bool PK){};
I am taking referance of this C# classlibrary in to Visual basic project. Everything is workign fine except, I am able to call only the first overloaded method. If I will try to call the second overloaded method, I am getting run time error like "Invalid procedure call or argument".
Is there any way from which I can call the second overloaded method?
|
|
|
|
|
There's nothing special you have to do. Just call the function name with the right parameters. That's it. In order to give you more information on this, we'll have to see the C# and VB.NET code your using.
Wait! Are you using VB.NET or VB6? VB6 won't call an overloaded method because it doesn't support it. VB.NET will...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi gurus,
I want to add a text file into my project to use it at my development time. How do i do this?
Thanx in Advance,
Ravi.
|
|
|
|
|
Can you explain what you mean sorry?
"Purple Monks Don't Exist"
|
|
|
|
|
Add a text file to your project? Why? How do you want to use this text file at development time? What is the purpose of the text file?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi all,
i facing some porblem in comparing the data in the text file. Basically, i want to compare the data in 2 different text file row by row. Which mean in file1.txt row1 is 111 and row2 is bbb then the data in the file2.txt should be same as what data in the file1.txt. If not same it will tell the user which row is the different. So anyone can help?
thanks.
|
|
|
|
|
It would help if you posted the code you have already and what your having problems with.
But basically, your going to open 2 StreamReader's, one for each file. Then, as you ReadLine a single line from each file, you increment a counter to keep track of the number of lines read, compare the two lines you just read and if they're different, display a message saying what the current line number is.
Dim file1 As StreamReader("Filename1.txt")
Dim file2 As StreamReader("Filename2.txt")
Dim line1, line2 As String
Dim lineNumber As Integer
While (file1.Peek() >= 0) Or (file2.Peek() >= 0)
line1 = file1.ReadLine()
line2 = file2.ReadLine()
lineNumber += 1
' If the first ReadLine returned a string...
' AndAlso the second ReadLine returned a string...
' AndAlso both strings are equal...
If (Not line1 Is Nothing) AndAlso (Not line2 Is Nothing) AndAlso (String.Compare(line1, line2, True) <> 0) Then
' Both strings were equal!!
Else
' Both files were NOT equal at this line!
Console.WriteLine("File difference at line " & lineNumber.ToString() )
End If
End While
file1.Close()
file2.Close()
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
When I try to use this code in my project but some error come out. Why in my project cannot using this code like "StreamReader", "ReadLine", WriteLine"?
What should i do in my project?
Thanks.
|
|
|
|
|
If you look at the docs for the StreamReader, you'll notice that it is part of the System.IO namespace. You'll have to include this line at the top of your code, usually the very first lines in the file:
Imports System.IO
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks for ur help. I success to compare the data file. Thanks a lot.......
|
|
|
|
|
My program upon loading creates a RGN file from some bitmap data then uses it for mapping purposes but it takes to long to process for the purpose I need it...
Is there a way to dump the RGN to a file that I can toss into a resource.. then load it into a RGN pointer
> How to dump a RGN to file?
> How to load dumpped RGN back into pointer?
|
|
|
|
|
RGN?
Some code sample would help get your question answered.
What takes so long? Creating the RGN file or loading it? How is the RGN data stored in your app? In a an array of structures or classes? Linked list?
Puting the RGN data in a resource is not a flexible option and is practicality is dependent upon the size of the data your talking about. If its a large file, then keeping it seperate from the .EXE is a much more flexible, and quicker, option.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have a grid of 64 x 64 tiles (16x16 pixel tiles)
There is a background 0 or 1 maping of the same... this mapping creates an area where a sprite (single pixel point) can move.
Each time the area is loaded a RGN is created by looking making smaller rectangle regions and combining them into one region the result is the movable area of the character.
It takes about 4 seconds to create this region every time this particular scene is loaded and I want to eliminate that by having the region already created and placed in a resource where it can be just copied via a memory copy to a RGN pointer to cut loading time so it doesn't have to be analized every time.
I tried this code to dump the RGN to a file but it don't work...I believe the pointer types are different but have no clue how to convert them...
This snippet is part of a much larger project...
"StaticWallRegion" doesn't change until a new scene is loaded....
'****************
Dim XW As String * 32767, ccc As Long
Call CopyMemory(StaticWallRGN, ByVal XW, 32767)
Open "C:\testDmp375.txt" For Binary Access Write As #1
For ccc = 1 To Len(XW)
Put #1, ccc, Mid(XW, ccc, 1)
Next ccc
Close #1
'********************************
'This code down here aligns it with the visable area of the map...(its just noted here)
'Call OffsetRgn(StaticWallRGN, s.l, s.t)
The RGNs (or HRGN) are from the MS-API.
|
|
|
|
|
zman900 wrote:
Dim XW As String * 32767, ccc As Long
Call CopyMemory(StaticWallRGN, ByVal XW, 32767)
Open "C:\testDmp375.txt" For Binary Access Write As #1
For ccc = 1 To Len(XW)
Put #1, ccc, Mid(XW, ccc, 1)
Next ccc
Close #1
What's up with this? Why couldn't you just write out the StaticWallRGN directly instead of copying it to a String object, which I don't think will work?
I can't really tell this myself because you didn't supply the code that describes StaticWallRGN...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
'Sorry I forgot these...
Global StaticWallRGN As Long 'Hold STATIC walls
Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Global Const RGN_AND = 1
Global Const RGN_COPY = 5
Global Const RGN_OR = 2
Global Const RGN_XOR = 3
Global Const RGN_DIFF = 4
Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long
Declare Function OffsetRgn Lib "gdi32" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long)
StaticWallRGN is a supposed pointer to a region composed of Multiple Regions created with CreateRectRgn (max of 4096 Regions) all RGN_OR together using the Api CombineRgn. StaticWallRGN is the Final Combined object of all these seperate regions.
What I want to do is dump this combined region so I don't have to recreate it each time and just have it already complete and ready to be loaded for use by PtInRegion.
Also I'm not exactly sure how the data structure for a RGN (or HRGN) is setup so can make it manually without recreating it.
What StaticWallRGN gives me is a pointer but I want the data behind the pointer... but I can't seem to get at it (tried using copymemory).
|
|
|
|