Rick Strahl's Web Log

Wind, waves, code and everything in between...
ASP.NET • C# • HTML5 • JavaScript • AngularJs
Contact   •   Articles   •   Products   •   Support   •   Search
Ad-free experience sponsored by:
ASPOSE - the market leader of .NET and Java APIs for file formats – natively work with DOCX, XLSX, PPT, PDF, images and more

WebLog Posts in Category FoxPro

Creating STA COM compatible ASP.NET Applications

When it comes to deploying STA COM components in ASP.NET only WebForms has native support for STA component. Other technologies like MVC, ASMX Web Services and WCF run only in MTA mode. If you need to run your STA COM Components in ASP.NET here is what you need to know and a few tools that help you create STA compatible handlers.

An easy way to create Side by Side registrationless COM Manifests with Visual Studio

Registrationless COM makes it possible to run COM components without registry configuration making for an xCopy deployable solution. The process is not terribly difficult but not easy to debug if something goes wrong. Here's how you can use registrationless COM in your apps.

Opening the Internet Settings Dialog and using Windows Default Network Settings via Code

Most applications that need to use HTTP to go online require some sort of HTTP configuration options to allow for custom network configurations. An easy way to do this is to rely on the default connection settings that Windows provides. Here's how to use the Windows network settings and how to bring them up visually for editing programmatically.

COM ByteArray and Dynamic type issues in .NET

Ran into an interesting issue today with binary data passed from COM to .NET via a dynamic instance. The result was rather unexpected with dynamic failing to properly cast the binary to byte[] or even a basic object instance.

ActiveX component can't create Object Error? Check 64 bit Status

When moving applications to 64 bit servers be sure to check that you don't call old school, 32 bit COM objects. If you do these COM object calls fail. Thankfully IIS 7 and later allows Application Pool configuration to enable 32 bit operation to work around this issue. Here's how.

Web Browser Control & Specifying the IE Version

The Microsoft Web Browser control's default rendering mode is not standards compliant - it's stuck in IE 7 quirks mode even on systems that run a later version of IE such as IE 11. This produces terrible results if you're attempting to use HTML 5 or or CSS 3 markup in your HTML to display. However, the Web Browser control does support using specific versions of Internet Explorer via some registry values that can be set for a specific application. This post shows how to configure your application to work with a specific version of Internet Explorer's rendering engine.

CLR Version issues with CorBindRuntimeEx

I’m working on an older FoxPro application that’s using .NET Interop and this app loads its own copy of the .NET runtime through some of our own tools (wwDotNetBridge). This all works fine and it’s fairly straightforward to load and host the runtime and then make calls against it. I’m writing this up for myself mostly because I’ve been bitten by these issues repeatedly and spend 15 minutes each...

The dynamic Type in C# Simplifies COM Member Access from Visual FoxPro

The addition of the new dynamic typing in the .NET runtime greatly simplifies COM Interop when passing FoxPro objects to .NET. Dynamic types remove the need to use explicit Reflection on dynamically generated FoxPro types that are returned over COM interop and so reduce code complexity and produce more natural and readable code removing one of the annoyances in FoxPro and .NET COM Interop.

OleDb Parameters to access FoxPro Data from .NET

OleDb – what a blast from the past. Got a couple of basic questions in the last week on how to access FoxPro data from .NET via OleDb and both questions got tripped up with the parameters query parameter are passed. It’s been so long since I’ve used the OleDb driver I had to look this up again myself to remember how this works  through FoxPro OleDb. The issue is that the VFP OleDb driver...

The long Path to getting an proper cased Path & Filename with Win32

I'm working through a couple of small bugs in Help Builder today and one issue that's come up is that in some (but not all cases) file selections when inserting images and doing screen captures turn out in inaccurate casing. Images are embedded into the document typically as relative images and the...

VBScript.RegExp and the . Operator on multi-line Content

Note to self: Remember that the COM RegEx parser doesn't deal with the . operator the same way in multi-line content as .NET or most other RegEx parsers do. I've just spent 20 minutes troubleshooting a RegEx expression that works just fine in RegEx Buddy and .NET code, but failed in one of my...

Debugging a FoxPro COM Object under ASP.NET

Some time ago I posted some code that you could use with ASP.NET to debug COM objects somewhat interactively in Visual FoxPro. The old approach used an old trick to instantiate VisualFoxPro.Application from within IIS and then actually launching code to instantiate an object created inside of VFP...

West Wind Html Help Builder Update

I've put out an updated version of Help Builder today. Here are a few development perspective comments on this release. Code Pasting This update adds a handful of new features in regards to handling code in topic content. If you've been following my blog you've probably seen some of the...

RTF to HTML Conversion

I've had a real frustrating day to day trying to find a solution for properly pasting code from Visual Studio and Visual FoxPro into Help Builder. Currently the way this process works is that you can either choose to paste code as text and then mark it up manually by highlighting the block and then...

Generics and COM Interop don't mix

COM Interop is rarely fun, but it looks like it's getting to be less and less useful as time goes on and new .NET Runtime features come along that don't work well over COM. It appears that Generic types can't be exported over COM and be usable to a client like Visual FoxPro. When I create a class...

Hosting the .NET Runtime in Visual FoxPro

Interop with .NET from FoxPro can be accomplished fairly easily by using COM Interop. With COM Interop you can take advantage of .NET's COM Callable Wrapper to wrap up .NET components and make them available as COM objects. I've written extensively about this interaction (here and here)...

Hosting a WCF Service in a non-.NET Client

I'm still screwing around Web Connection and trying out a quick proof of concept tonight and thought I'd share a few steps on how to host a WCF in a non .NET client via COM Interop client like Visual FoxPro. This article discusses WCF server and client creation in general terms and in addition covers the interop issues to make it work in these clients.

Apache and Script Mapping

I've been struggling with mapping scripts to a custom ISAPI handler in Apache for some  in Web Connection (which is a FoxPro based ISAPI interface). Web Connection works with Apache, but recently with version 2.2 Apache changed its module binary format and required recompilation so I ended up...

Programmatic Printer Driver Installation re-visited for Vista

A long while back I posted an entry regarding how to install a printer driver programmatically by shelling out and using rundll32.exe to execute the PrintUi.dll which can handle a variety of print tasks including installing a printer driver. This code's been working fine, but it's been giving...

Cleaning up a Win32 Application to work under Vista

So for the last few days I've been going through the final steps of updating Help Builder to properly run under Windows Vista without any file permissions, registry or other sort of elevation requirements. In theory the application should run fine after installation without any sort of crutch like...

.NET Web Services and Visual FoxPro COM Object Threading Issues

I ran into an interesting issue today with a couple of ASMX Web Services that act as a front end for Visual FoxPro COM object for a client. The COM objects were blocking at times or worse in some cases cross talking and stepping on each other's environment. Turns out ASMX Web Services don't have an ASPCOMPAT flag so it takes some work to get Web Services to behave with STA components like those from Visual FoxPro
West Wind  © Rick Strahl, West Wind Technologies, 2005 - 2017