Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Debugging Conduit, Error "Invalid conduit version"

15 views
Skip to first unread message

scott...@gmail.com

unread,
Sep 17, 2007, 2:04:47 PM9/17/07
to
Hi,

I'm new to developing Hotsync conduits and I'm starting off with
developing a COM conduit using C# and Visual Studio .NET 2005. I have
installed the Conduit Development Kit 6.0.1 and the Garnet OS
Development Suite. I am using the Garnet OS Simulator from the
Development Suite as my debugging device.

My "Hello World" conduit was an exe. I used ComConduit.dll for
debugging, which worked fine. I created an entry in CondCfg and
pointed it toward Visual Studio 2005 (devenv.exe) and when I would
Hotsync, Hotsync would kick off VS 2005 and I could load my exe
project and step though the code successfully.

Now I would like to create a dll conduit and use VS 2005 to debug my
conduit, but I am receiving the error: "Invalid conduit version" when
Hotsync tries to kick off my conduit.

I have implemented the PDDirectLib.IPDClientNotify interface in my dll
and have enabled both 'Register for COM Interop' and 'Make Assembly
COM-visible' in my project's properties.

The full error written to the Hotsync log (when set to verbose mode)
and my code is below. Does anyone know what I may be doing wrong?

Thanks, -Scott


HotSync Log:
==========

Attempting to synchronize with conduit: PalmSyncConduit2005.dll
Key is Software\PalmSource\Desktop\Application0
Sync type is Fast
Local path is C:\Documents and Settings\sc\My Documents\Palm OS Desktop
\garnet\
Invalid conduit version
Loading PalmACGMESyncConduit2005.dll conduit
Conduit 'Component' Error: Unknown error. (65535)
Conduit failed


C# Code:
=======

using System;
using System.Collections.Generic;
using System.Text;

namespace PalmSyncConduit2005
{
public class ConduitMain : PDDirectLib.IPDClientNotify
{
// main entry point
[STAThread]
static void Main()
{
string s1 = "test string";
}

// constructor
public ConduitMain()
{
string s2 = "test string";
}

// implements
public bool BeginProcess()
{
// TODO: do sync here
return false;
}

public void CfgConduit(int nCreatorId, int nUserId,
string bstrUserName, string bstrPathName, ref int
nSyncPerm, ref int nSyncTemp,
ref int nSyncNew, ref int nSyncPref)
{
//FrmConfig frm = new FrmConfig();
//DialogResult result = frm.ShowDialog();
}

public void ConfigureConduit(string pPathName, string
pRegistry,
ref int nSyncPref, ref int nSyncType)
{
nSyncType = (int)PDDirectLib.ESyncTypes.eFast;
nSyncPref =
(int)PDDirectLib.ESyncPref.ePermanentPreference;
}

public Object GetConduitInfo(PDDirectLib.EGetConduitInfo
infoType,
int dwCreatorId, int dwUserId, string bstrUserName)
{
switch (infoType)
{
case PDDirectLib.EGetConduitInfo.eGetConduitName:
return "ACGMESync Conduit";
case PDDirectLib.EGetConduitInfo.eGetConduitVersion:
return 3;
case PDDirectLib.EGetConduitInfo.eGetDefaultAction:
return PDDirectLib.ESyncTypes.ePCtoHH;
case PDDirectLib.EGetConduitInfo.eGetMfcVersion:
return PDDirectLib.EMfcVersion.ePDMFC_NOT_USED;
}

throw new Exception("GetConduitInfo: Unexpected
ConduitInfo Type: " + infoType.ToString());
}
}
}

0 new messages