Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP General (http://www.velocityreviews.com/forums/f65-asp-general.html)
-   -   How to call a dll in ASP ? (http://www.velocityreviews.com/forums/t802881-how-to-call-a-dll-in-asp.html)

fiefie.niles@gmail.com 03-18-2007 05:09 PM

How to call a dll in ASP ?
 
We have a C++ DLL that we call from VB6 program.
This is how we declare the DLL in VB6:
Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
ByVal findword As String, ByVal CaseSensitive As Integer) As Integer

This is how we call the DLL in VB6:
hit = RefSearch(path, SearchStr1, ChkValue)

Can I call this DLL in ASP and how ?
Thank you.


McKirahan 03-18-2007 06:15 PM

Re: How to call a dll in ASP ?
 
<fiefie.niles@gmail.com> wrote in message
news:1174237772.659366.257750@y80g2000hsf.googlegr oups.com...
> We have a C++ DLL that we call from VB6 program.
> This is how we declare the DLL in VB6:
> Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
> ByVal findword As String, ByVal CaseSensitive As Integer) As Integer
>
> This is how we call the DLL in VB6:
> hit = RefSearch(path, SearchStr1, ChkValue)
>
> Can I call this DLL in ASP and how ?


Is the DLL "apartment threaded"?
Can you recompile it to be?

Creating Visual basic COMponents for ASP
http://www.macronimous.com/resources...asp_vb_dll.asp

Calling a Visual Basic Component Subroutine from ASP
http://www.thescripts.com/forum/thread51438.html



fiefie.niles@gmail.com 03-18-2007 08:02 PM

Re: How to call a dll in ASP ?
 
Thanks.

The DLL is a VC++ DLL, not a VB DLL. There is no class that I can call
it like
Set objName = Server.CreateObject("ProjectName.ClassModuleName")
I want to call this VC++ DLL from ASP


On Mar 18, 1:15 pm, "McKirahan" <N...@McKirahan.com> wrote:
> <fiefie.ni...@gmail.com> wrote in message
>
> news:1174237772.659366.257750@y80g2000hsf.googlegr oups.com...
>
> > We have a C++ DLL that we call from VB6 program.
> > This is how we declare the DLL in VB6:
> > Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
> > ByVal findword As String, ByVal CaseSensitive As Integer) As Integer

>
> > This is how we call the DLL in VB6:
> > hit = RefSearch(path, SearchStr1, ChkValue)

>
> > Can I call this DLL in ASP and how ?

>
> Is the DLL "apartment threaded"?
> Can you recompile it to be?
>
> Creating Visual basic COMponents for ASPhttp://www.macronimous.com/resources/tutorials/asp_vb_dll.asp
>
> Calling a Visual Basic Component Subroutine from ASPhttp://www.thescripts.com/forum/thread51438.html




Anthony Jones 03-18-2007 08:13 PM

Re: How to call a dll in ASP ?
 

<fiefie.niles@gmail.com> wrote in message
news:1174237772.659366.257750@y80g2000hsf.googlegr oups.com...
> We have a C++ DLL that we call from VB6 program.
> This is how we declare the DLL in VB6:
> Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
> ByVal findword As String, ByVal CaseSensitive As Integer) As Integer
>
> This is how we call the DLL in VB6:
> hit = RefSearch(path, SearchStr1, ChkValue)
>
> Can I call this DLL in ASP and how ?
> Thank you.
>


Create an VB6 ActiveX DLL. In the project properties it is very important
that both Unattended Execution and Retained In Memory are selected otherwise
your site will crash for almost inexplicable reasons. For performance
reasons apartment threading is strongly recommend. You do not need to
recompile your existing C++ dll.

You VB6 code can look something like this:-

'Project MyAspHelper

'Class CSearch

Private Declare Function RefSearch Lib "csearch32.dll" (ByVal path As
String,
ByVal findword As String, ByVal CaseSensitive As Integer) As Integer

Public Function Search(ByVal Path As String, ByVal FindWord As String, ByVal
CaseSensitive As String) As Integer
Search = RefSearch(Path, FindWord, CaseSensitive)
End Function


Now in ASP you can use:-


Dim oSearch : Set oSearch = CreateObject("MyAspHelper.CSearch")

Dim lRes

lRes = oSearch.Search(FileName, "Hello", False)








Bob Barrows [MVP] 03-18-2007 08:18 PM

Re: How to call a dll in ASP ?
 
fiefie.niles@gmail.com wrote:
> Thanks.
>
> The DLL is a VC++ DLL, not a VB DLL. There is no class that I can call
> it like
> Set objName = Server.CreateObject("ProjectName.ClassModuleName")
> I want to call this VC++ DLL from ASP
>
>


There has to be. It has to be a COM object in order to call it from any
scripting language that I'm familiar with.
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"



fiefie.niles@gmail.com 03-18-2007 10:54 PM

Re: How to call a dll in ASP ?
 
Great idea, thank you.
I tried it, but the weird thing is when I call that VB6 ActiveX DLL
from VB6, it search fine.
For example: I have a document with the word "FieFie" in it. Calling
the DLL from VB6, I can search for fiefie, or fie, or Fie and it will
find all of them.
Calling the DLL from ASP, when I search for Fie it will find it, but
when I search for fiefie or fie, it does not find it.

On Mar 18, 3:13 pm, "Anthony Jones" <A...@yadayadayada.com> wrote:
> <fiefie.ni...@gmail.com> wrote in message
>
> news:1174237772.659366.257750@y80g2000hsf.googlegr oups.com...
>
> > We have a C++ DLL that we call from VB6 program.
> > This is how we declare the DLL in VB6:
> > Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
> > ByVal findword As String, ByVal CaseSensitive As Integer) As Integer

>
> > This is how we call the DLL in VB6:
> > hit = RefSearch(path, SearchStr1, ChkValue)

>
> > Can I call this DLL in ASP and how ?
> > Thank you.

>
> Create an VB6 ActiveX DLL. In the project properties it is very important
> that both Unattended Execution and Retained In Memory are selected otherwise
> your site will crash for almost inexplicable reasons. For performance
> reasons apartment threading is strongly recommend. You do not need to
> recompile your existing C++ dll.
>
> You VB6 code can look something like this:-
>
> 'Project MyAspHelper
>
> 'Class CSearch
>
> Private Declare Function RefSearch Lib "csearch32.dll" (ByVal path As
> String,
> ByVal findword As String, ByVal CaseSensitive As Integer) As Integer
>
> Public Function Search(ByVal Path As String, ByVal FindWord As String, ByVal
> CaseSensitive As String) As Integer
> Search = RefSearch(Path, FindWord, CaseSensitive)
> End Function
>
> Now in ASP you can use:-
>
> Dim oSearch : Set oSearch = CreateObject("MyAspHelper.CSearch")
>
> Dim lRes
>
> lRes = oSearch.Search(FileName, "Hello", False)




Anthony Jones 03-19-2007 05:05 PM

Re: How to call a dll in ASP ?
 

<fiefie.niles@gmail.com> wrote in message
news:1174258499.461470.155730@b75g2000hsg.googlegr oups.com...
> Great idea, thank you.
> I tried it, but the weird thing is when I call that VB6 ActiveX DLL
> from VB6, it search fine.
> For example: I have a document with the word "FieFie" in it. Calling
> the DLL from VB6, I can search for fiefie, or fie, or Fie and it will
> find all of them.
> Calling the DLL from ASP, when I search for Fie it will find it, but
> when I search for fiefie or fie, it does not find it.



One test you might try is the same code in a VBScript file (.vbs).

Does the C++ DLL depend on any values found in the user context such as
current user registry values?



>
> On Mar 18, 3:13 pm, "Anthony Jones" <A...@yadayadayada.com> wrote:
> > <fiefie.ni...@gmail.com> wrote in message
> >
> > news:1174237772.659366.257750@y80g2000hsf.googlegr oups.com...
> >
> > > We have a C++ DLL that we call from VB6 program.
> > > This is how we declare the DLL in VB6:
> > > Declare Function RefSearch Lib "csearch32.dll" (ByVal path As String,
> > > ByVal findword As String, ByVal CaseSensitive As Integer) As Integer

> >
> > > This is how we call the DLL in VB6:
> > > hit = RefSearch(path, SearchStr1, ChkValue)

> >
> > > Can I call this DLL in ASP and how ?
> > > Thank you.

> >
> > Create an VB6 ActiveX DLL. In the project properties it is very

important
> > that both Unattended Execution and Retained In Memory are selected

otherwise
> > your site will crash for almost inexplicable reasons. For performance
> > reasons apartment threading is strongly recommend. You do not need to
> > recompile your existing C++ dll.
> >
> > You VB6 code can look something like this:-
> >
> > 'Project MyAspHelper
> >
> > 'Class CSearch
> >
> > Private Declare Function RefSearch Lib "csearch32.dll" (ByVal path As
> > String,
> > ByVal findword As String, ByVal CaseSensitive As Integer) As Integer
> >
> > Public Function Search(ByVal Path As String, ByVal FindWord As String,

ByVal
> > CaseSensitive As String) As Integer
> > Search = RefSearch(Path, FindWord, CaseSensitive)
> > End Function
> >
> > Now in ASP you can use:-
> >
> > Dim oSearch : Set oSearch = CreateObject("MyAspHelper.CSearch")
> >
> > Dim lRes
> >
> > lRes = oSearch.Search(FileName, "Hello", False)

>
>





All times are GMT. The time now is 12:21 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.