Does anyone have recommendations for a control to view pdf files ?
We have tried the adobe activex control (memory leaks / lots of crashes) and the html control (several times a day causes the cpu to jump to 100%)
How do you view your pdfs from within Openedge ?
I was looking for some .net control that just works
TIA
Julian
My preferred option is to transfer them to my iPad and then use "goodreader"
Somehow I don't think that's quite what yiu had in mind
You are right. Not quite.
I'm currently looking at Sumatra pdf
(http://blog.kowalczyk.info/software/sumatrapdf/index.html) with a
view to modifying the source to make it fit our requirements. It
certainly works bloody fast
Does anyone have recommendations for a control to view pdf files ?
We have tried the adobe activex control (memory leaks / lots of crashes) and the html control (several times a day causes the cpu to jump to 100%)
How do you view your pdfs from within Openedge ?
I was looking for some .net control that just works
This looks painful, no matter what language you try it in. Most of the comments on Stackoverflow say to use the browser plugin, so if you're using Adobe, you're somewhat SOL. Somewhat apropos, I use Foxit for my browser plugin; it works like a charm, and they also provide an ActiveX. So if you're not opposed to the ActiveX route, that may be worth investigating.
-- peter
Heh.
Now - taking a different angle - can I embed an external .exe window into a progress abl form or .net form ?
Declare Auto Function SetParent Lib "user32" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As IntPtrDim MyPSI As New ProcessStartInfo("notepad.exe")Dim MyProcess As Process = Process.Start(MyPSI)MyProcess.WaitForInputIdle()SetParent(MyProcess.MainWindowHandle, Me.Handle)
There's 2 things here: the call to the external user32 dll, and the forking of a process.
Because I'm lazy , here's a related example of the former:
CLASS foo :
DEFINE VARIABLE iResult AS INTEGER NO-UNDO.
PROCEDURE MessageBoxA EXTERNAL "user32.dll":
DEFINE INPUT PARAMETER hwnd AS LONG.
DEFINE INPUT PARAMETER mbtext AS CHARACTER.
DEFINE INPUT PARAMETER mbtitle AS CHARACTER.
DEFINE INPUT PARAMETER style AS LONG.
DEFINE RETURN PARAMETER result AS LONG.
END.
METHOD VOID runWindowsProc ():
RUN MessageBoxA (0,
" It's a whole new world, again!!",
"ABL DLL Access",
0,
OUTPUT iResult).
END.END CLASS.
And the latter, where cUrl is what you'd expect. This is basically an OS-COMMAND.
System.Diagnostics.Process:Start(cUrl).
Heh.
Now - taking a different angle - can I embed an external .exe window into a progress abl form or .net form ?
I remember there being something on the 10.2A Beta forum around doing this (but in the spirit of my earlier comment haven't looked for it )
-- peter