Question:

I understand the use of the in-process DLL for implementing ILayerEditor. I am developing in C# in .NET 1.1 I want to be able to use my ILayer library (DLL) and be able to debug at the same time through that library. I noticed that you cannot attach to the fvw.exe process through Visual Studio to debug through my implementation of ILayerEditor (dll). Is this possible and how?

I also found that it would not work out-of-process by calling ILayer.AddEditorButton (also told not to use this in FalconView 4 ICD). I could not get this alternative out-of-process way of using ILayerEditor to work. I could get a editor toolbar strip happening and click the toolbar buttons etc but I could not get the layer to interact (eg draw to the layer on a user drag).

-- MattBird - 14 Nov 2007

Answer

I normally Just go to the Debug Page in Visual Studio and set FVW.EXE as the project to run in the debug session. Then once the DLL gets loaded by FV you can debug it as usual. Note that you can't set a breakpoint until the DLL gets loaded.

You can call AddToolbar and AddToolbarButton from out of process. Look at the VB code in GettingStarted. It adds a button and implements !ICallBack to get notifications of the button presses.

I do not believe there is any way to implement ILayerEditor out of process since the whole point is that at, startup, FalconView creates one of your objects and calls it to find out the information to add to the menus and toolbars. You may need to implement an in-process editor which is a minimal implementation which makes calls to your main program (in its own process) as necessary via your own custom interface.

Environment

FalconView Version: FalconView 4.0.1
Interface:
Language: Visual Basic.Net