How can I create an Active X control to use Chromium Embedded Framework to replace the WebBrowser control in Powerbuilder 12 classic? - activex

I need to be able to use the modern CSS3 and javascript support of Chrome in a powerbuilder classic 12 project.
I found this post Memory leak with Chromium Embedded interop ActiveX control using CEFSharp WPF
where it seems that a member has successfully created an interop activex control. This is what I need to do and I need some help doing so.

If you want to USE the interop ActiveX control like mentioned in the post you included than simply use it the same way the other person did. Find out where they got the interop control and use it like normal in PB.
I think that you are wanting to develop an ActiveX wrapper which will then be used in PB. As the name implies (wrapper) just create an ActiveX project in Visual Studio and start mapping the properties/events/functions until your wrapper is complete. If you didn't know the basic steps for creating a wrapper than it shouldn't take more than ten minutes on the internet to get an idea of what that is and how to do it.
Also to help you out being a new StackOverflow member, I'd suggest using better tags for the best results. I see why you chose a few of them but 3 of 4 have fewer than 100 followers so your question is not being seen much at all (thank goodness for you on this one). I'd have put this under .NET, C# for top exposure and maybe keep the chromium tag which will help people searching for the answer down the road, it isn't helping you find the answer with less than 100 followers.
Oh, if you need someone to write the wrapper- I am looking for work and can do it for few hours/days pay depending on how much you need exposed.

Related

How to show relationships in my application?

I'm developing my MS Access database editor (mdb, accdb) which I will give everyone for free. I've done mostly everything that matters except relationships. The problem for me is how to show relationship(s). I would like to do it like in the real MS Access:
The thing is, I don't know how would I connect these child windows with a line that is stretching and resizing when one of the windows move etc...
This maybe not a question that can have a direct answer but I'm stuck here and don't know how to show those relationship(s). I'm using C++ Builder XE2.
So you need a library to draw graphs...
Making an answer, for being able to put links in the list (which comments would not allow)
http://sourceforge.net/projects/extgraph/
How to create graphs in Delphi application
http://www.torry.net/pages.php?s=88

Charting control options for Silverlight for Windows Embedded

I want to make a charting control for an embedded device using Silverlight for Windows Embedded. Currently i am planning to use line shape for drawing the graph.
My question is if its a good approach(performance wise) or should i look for other options.
Or if any controls are available for SWE.
Thanks
Silverlight is not a proper answer to drawing charts on an Windows Embedded Compact device. You should go for using (or creating) a native GDI element. If performance is very important (e.g. for a fast-updating chart), you might also consider DirectDraw.
The best way in a commercial project would probably be to use a readymade component, such as this one.
You can find somebody else's experiences and advice here for pointers to what to look for when doing this yourself. If you expand your post with more details about what you are actually trying to achieve, I might give you a more detailed response.
The answer is stop using Silverlight, since Microsoft is abandoning the product. Do it in Flash—or better yet, use HTML5 and JavaScript.
In recent windows embedded applications that use windows universal apps I would highly recommend oxyplot.
http://oxyplot.org/
These plots are the best I've found on the internet so far and very easy to use. Best of all they are free. You can get these using a NuGet Package manager which makes getting updates fairly simple.

How to get the property list and values of a control within a third-party Delphi application?

I'd like to get information about a third party application's controls such as a list of its properties and their values: something like RTTI information but for a third-party Delphi application.
I see that this is possible. For example TestComplete has the ObjectSpy window which can give many useful information about the control, including RTTI information. How can this be done ?
Edit: To explain why I'm investigating this issue... I'm a registered user of TestComplete/TestExecute and I do like... most of it. I can get over the minor things but the one major problem for me is their license verification system which requires me to have a physical computer (not a virtual machine) always on just for the sake of running a license server so that TestExecute can run at night. As I have basic testing needs (compare screenshots and check basic Delphi component's properties) I wondered how hard it would be to make my own private very simple "TestExecute-like" application.
To go further, I suggest you these relevant resources found here on SO
Writing a very basic debugger (The accepted answer along with its comment thread are all valuable).
Is it possible to access memory from an application to another ? How? (Excerpt from the accepted answer: It is possible. Just use the Windows API functions WriteProcessMemory/ReadProcessMemory. Pass in the handle of the process and the pointer to the data).
Search the memory of another process (The excellent accepted answer also forwards to another valuable resource delphi-code-coverage by Christer Fahlgren and Nick Ring).
StackWalk of other process in delphi? (Check Barry Kelly's answer !!!, the same for the one from the AsmProfiler author !!!).
I strongly suggest you to port to Delphi this c++ project entitled Get Process Info with NtQueryInformationProcess: A hands on experience on using ReadProcessMemory to access the CommandLine used to launch another process.
Last Edit:
NtQuerySystemInformation Delphi Example.
RRUZ's answer to Delphi - get what files are opened by an application as suggested by LU RD.
When we want to take another application which is compiled with debug information and get stuff out of it at runtime, what we are dealing with is the problem of "how to write my own custom debugger/profiler/automated-test kernel".
TestComplete and other AutomatedQA programs contain a Debugger and Profiler Kernel which can start up, run and remotely control apps, and parse their Debug information in several formats, including the TurboDebugger TD32 information attached to these executables. Their profiling kernel also can see each object as it is created, and can iterate the RTTI-like debug information to determine that an object that was created is of a particular class type, and then see what properties exist in that object.
Now, TestComplete adds on top of the AQTime-level of stuff, the ability to introspect Window handles, and intuit from Window Handles, the Delphi class Names that are behind it. However, it's much easier for you (or me) to write a program which can tell you that the mouse is over a window handle that belongs to a TPanel, than to know which version of Delphi created that particular executable, what version of TPanel that is, then, and what properties it would contain, and to read those values back from a running program, which requires that you implement your own "debugger engine". I am not aware of any open source applications that you could even use to get a start writing your own debugger, and you certainly can't use the ones that are inside AQTime/TestComplete, or the one inside Delphi itself, in your own apps.
I could not write you a sample program to do this, but even if I could, it would require a lot of third-party library support. To see the window classes for a window handle which your mouse is over, look for how to implement something like the MS Spy++ utility.
An easy case is if your mouse is mousing over a window inside your own application. For that, see this about.com link, which simply uses RTTI.

What road to take to load an SVG graphic into a FireMonkey app?

There are about four implementations I can think of that are capable of loading SVG graphics into a Delphi application.
One of those, by Mattias Andersson, who is the author of FMX.Canvas.VPR
, works with FireMonkey, but he's not yet prepared to release the code.
A second one, by Martin Walter, works with the VCL, but developer has quit Delphi and has no plans to convert to FireMonkey.
A third one, part of the AGGPAS framework, works with the VCL, but no FireMonkey.
A fourth one is in development by Jason Southwell, but no date has been fixed yet.
So my question: what road to take if I want an SVG component today, without trying to reinvent the wheel a fifth (and probably more) time?
I'm Mattias Andersson -- the author of FMX.Canvas.VPR; I can say that I'm still actively working on the SVG solution. I guess once I have properly added support for gradients and text rendering then I can release a first beta version. I'm relying on TXMLDocument and that is a bit restrictive in what you are permitted to do (IMO), so I've had to invent some workarounds (maybe a better option would have been to implement my own XML class from scratch.) Also, I've had to do some run-time patching of the FireMonkey classes in order to make everything work correctly. The good part is that I'm actually implementing things according to the SVG interface specifications.
The SVG component I've been working on has been released as part of our Apesuite for Firemonkey.
http://arcana.sivv.com/apesuite
Getting involved with Mattias Andersson in the development is the best option:
FMX.Canvas.VPR by Mattias Andersson looks promising and VPR is proven to be an excellent project
No spoon-fed SVG FireMonkey component working out-of-the-box is available as of the time of posting (extensive web search made in general).
You could also consider using Chromiumembedded. Just load the svg in the embedded browser. You can then mix Delphi code with javascript, mix in html and css, etc.
This way, you can just leave it up to Chrome how to draw stuff fast (for example whether to employ gpu acceleration or not).
You'll get proper svg support, it's easy to integrate into your application, it's flexible, and there is lots of documentation and example code available online.

Where can I find sample Delphi code or component for accessing exchange/outlook contacts and appointments?

I need Delphi code or component for accessing exchange/outlook contacts and appointments? I probably need to use Extended MAPI. This is for a proof of concept so I'm not ready to shell out big bucks at the moment. Any hints, links, experiences??
Look this
Create an appointment in MS Outlook
http://www.scalabium.com/faq/dct0128.htm
Contact list in MS Outlook
http://www.scalabium.com/faq/dct0145.htm
Look at EasyMAPI from Rapware.
Not free, but well worth the price. I used this a couple of years ago. The author was really helpful and open to adding new functionality.
at our company we used the converted Extended mapi C/C++ headers (to delphi) and examples from here http://www.imibo.com/imidev/delphi/les/index.html. it doesn't cost that much at least i think so.
We used it to create a sync service that would synchronized tasks, contacts and appointments from our own agenda which was build before i worked at the company with exchange directly.
The plus side is you can use MSDN since basically everything is the same as what's written there and you have full control but it's rather "low level"
I'm not really certain if it is that what you need, but you don't really need outlook to be installed to access the messages then (on exchange). If you just need outlook you could try OLE or some of the other suggestions.
I'm not sure if TurboPower OfficePartner supports the features you're looking for, but it's free (as in open source) and might be worth a look:
http://sourceforge.net/projects/tpofficepartner/

Resources