create a harbour dll containing functions to be executed

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: create a harbour dll containing functions to be executed

Post by Antonio Linares »

Romeo,

Please include the code that I posted here inside #pragma BEGINDUMP ... ENDDUMP

http://forums.fivetechsupport.com/viewt ... 44#p193644
regards, saludos

Antonio Linares
www.fivetechsoft.com
Perry Nichols
Posts: 17
Joined: Thu Feb 28, 2008 6:56 pm

Re: create a harbour dll containing functions to be executed

Post by Perry Nichols »

Antonio,

Do you know if you can call a harbour DLL from a C# .Net exe ? If so can you provide an example?
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: create a harbour dll containing functions to be executed

Post by Antonio Linares »

Perry,

Here you have an example that I coded for FiveNet:

https://bitbucket.org/fivetech/fivenet/ ... ew-default

Look for:

public class FiveNet
{
// public string AppName;

[ DllImport ( "ftsnet.dll", CallingConvention = CallingConvention.Cdecl ) ]
public static extern void One( uint pBlock );
regards, saludos

Antonio Linares
www.fivetechsoft.com
rkurian
Posts: 1
Joined: Wed Aug 31, 2016 3:26 pm

Re: create a harbour dll containing functions to be executed

Post by rkurian »

Antonio,

I'm not sure that I have the Harbour DLL setup properly. I receive the following error

An unhandled exception of type 'System.EntryPointNotFoundException' occurred in WindowsFormsApplication1.exe

Additional information: Unable to find an entry point named 'OneParam' in DLL 'Mydll.dll'.


This is the code we are using for the DLL

// Build a DLL from this code using: buildhd.bat mydll
// Please review TESTMYDL.prg to see how to use this DLL.

//----------------------------------------------------------------------------//

function Main()

MsgInfo( "Inside DLL main()" )

return nil

//----------------------------------------------------------------------------//

function OneParam( x )

MsgInfo( x )

return nil

//----------------------------------------------------------------------------//

#pragma BEGINDUMP

#include <windows.h>
#include <hbapi.h>
#include <hbapiitm.h>

__declspec( dllexport ) LONG pascal DOPROC( char * cProcName, char * cParam )
{
PHB_ITEM pItem = hb_itemPutC( NULL, cParam );

if( cProcName )
{
hb_itemDoC( cProcName, 1, ( PHB_ITEM ) pItem, 0 );
hb_itemRelease( pItem );
}
else
MessageBox( 0, "inside the DLL", "DOPROC", 0 );

return 0;
}

BOOL WINAPI DllEntryPoint( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved )
{
HB_SYMBOL_UNUSED( hinstDLL );
HB_SYMBOL_UNUSED( fdwReason );
HB_SYMBOL_UNUSED( lpvReserved );

switch( fdwReason )
{
case DLL_PROCESS_ATTACH:
MessageBox( 0, "DLL properly loaded", "DLL entry", 0 );
hb_vmInit( 0 );
break;

case DLL_PROCESS_DETACH:
MessageBox( 0, "DLL unloaded", "DLL exit", 0 );
break;
}

return TRUE;
}
#pragma ENDDUMP

//----------------------------------------------------------------------------//
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: create a harbour dll containing functions to be executed

Post by Antonio Linares »

You are not exporting OneParam() from the DLL so you can not call OneParam() directly from your EXE.

You have to call DOPROC() from your EXE, as it is the exported function of the DLL
regards, saludos

Antonio Linares
www.fivetechsoft.com
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: create a harbour dll containing functions to be executed

Post by Romeo »

NO more help ?
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: create a harbour dll containing functions to be executed

Post by Romeo »

Hi dear Perry Nichols,
please can you kindly send me at romeox@tiscali.it those files:

MYDLL.PRG
TESTMYDLL.PRG
BUILDHD.BAT

I wrong samethins in my files, and it doesnot work !

FWH 16.02
many thanks
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: create a harbour dll containing functions to be executed

Post by Romeo »

OK, i retrive my error.

it works now !

tks
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: create a harbour dll containing functions to be executed

Post by Antonio Linares »

very good :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply