Deploying as a DLL

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Deploying as a DLL

Smalltalkiano-4
Hi,

     I've reading some posts on this NG but I'm not sure if I can deploy a
DLL with DST 5 or not.

    As a DLL could be interesting to develop a component as 3rd party
developer this could be useful.

    If I can make a dll from dolphin I would like to know:

    How do I define the API of this DLL?

    I know it seems to have no sense, but can I pass Objects as arguments?
perhaps serialized?

    Could somebody give some guidelines to this lost soul?

    thanks  :)


Seb


Reply | Threaded
Open this post in threaded view
|

Re: Deploying as a DLL

Bill Schwab
Seb,

>      I've reading some posts on this NG but I'm not sure if I can deploy a
> DLL with DST 5 or not.

You can, but AFAIK, only COM DLLs.


>     As a DLL could be interesting to develop a component as 3rd party
> developer this could be useful.
>
>     If I can make a dll from dolphin I would like to know:
>
>     How do I define the API of this DLL?

Assuming my response above is correct, then you would write IDL, use MIDL to
compile it to get a type library, then some wizard use and little category
dragging will fill in the details.  See the Wiki for Blair's instructions.


>     I know it seems to have no sense, but can I pass Objects as arguments?
> perhaps serialized?

You can pass interface pointers to COM objects, and you can pass around
blobs of memory containing serialized objects, but in that case, the caller
almost certainly has to be Dolphin-based too, unless you agree on some
common format besides STB.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Deploying as a DLL

Smalltalkiano-4
"Bill Schwab" <[hidden email]> escribió en el mensaje
news:b3berq$fb2$[hidden email]...
> Seb,
>
> >      I've reading some posts on this NG but I'm not sure if I can deploy
a
> > DLL with DST 5 or not.
>
> You can, but AFAIK, only COM DLLs.

    Ouch, OK, that's a pity, I'll see what to do...  :-/


>
>
> >     As a DLL could be interesting to develop a component as 3rd party
> > developer this could be useful.
> >
> >     If I can make a dll from dolphin I would like to know:
> >
> >     How do I define the API of this DLL?
>
> Assuming my response above is correct, then you would write IDL, use MIDL
to
> compile it to get a type library, then some wizard use and little category
> dragging will fill in the details.  See the Wiki for Blair's instructions.
>
>
> >     I know it seems to have no sense, but can I pass Objects as
arguments?
> > perhaps serialized?
>
> You can pass interface pointers to COM objects, and you can pass around
> blobs of memory containing serialized objects, but in that case, the
caller
> almost certainly has to be Dolphin-based too, unless you agree on some
> common format besides STB.

Yes I was thinking on a dolphin-based user.

>
> Have a good one,
>
> Bill
>
> --
> Wilhelm K. Schwab, Ph.D.
> [hidden email]
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Deploying as a DLL

Andy Bower
Seb,

> > >  I've reading some posts on this NG but I'm not sure if I can deploy a
> > > DLL with DST 5 or not.
> >
> > You can, but AFAIK, only COM DLLs.

Bill is correct. You cannot create "C-style" function based DLLs with
Dolphin. You can create in-process COM components in DLLs however.

Best Regards,

Andy Bower
Dolphin Support
http://www.object-arts.com
---
Are you trying too hard?
http://www.object-arts.com/Relax.htm
---


Reply | Threaded
Open this post in threaded view
|

Re: Deploying as a DLL

Chris Uppal-3
In reply to this post by Smalltalkiano-4
Smalltalkiano wrote:

> Yes I was thinking on a dolphin-based user.

If all your clients are written in Dolphin, and you want to pass Dolphin
objects backwards and forwards, then it might be worth checking out the binary
packaging mechanism (as used in theWeb Deployment Kit).

Here's an example:

Create a new package, say called 'Temp'

Create a new class in that package, say called 'AAATemp'.

Give it a method:
==============
    AAATemp>>tryMe
        Notification signal: 'It worked'.
==============

In the package browser, select the package and "Deploy Binary Package".  You'll
be prompted for a "certificate", just click OK (which will deploy with no
certificate).  You should now have a 'AAATemp.pak' file.

Start a clean image, from it evaluate:
    cl := ClassLocator codeBase: '' packageName: 'Temp' key: 'AAATemp'.
    class := cl locateClass.

You'll be prompted for whether you want to "trust" the loaded code (with no
certificate).  Answer yes.

Now you can use your dynamically loaded class:

    class new tryMe.

should print 'It worked!' to the Transcript.

Binary deployment may or may not suit your requirements, but it is an
alternative to DLLs.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Cannot Deploy usual DLLs tha's OK so...

Smalltalkiano-4
In reply to this post by Bill Schwab
OK,

    I'll change my question now.

    How do you make that a dolphin application interact with anhoter dolphin
application in the same host?

    Do you use the socket approach as a particular case (local-local)
between aplications or do you prefer inter process comunication?

    In the last case how this could be archieved?

    thanks

Seb


"Bill Schwab" <[hidden email]> escribió en el mensaje
news:b3berq$fb2$[hidden email]...
> Seb,
>
> >      I've reading some posts on this NG but I'm not sure if I can deploy
a

> > DLL with DST 5 or not.
>
> You can, but AFAIK, only COM DLLs.
>
>
> >     As a DLL could be interesting to develop a component as 3rd party
> > developer this could be useful.
> >
> >     If I can make a dll from dolphin I would like to know:
> >
> >     How do I define the API of this DLL?
>
> Assuming my response above is correct, then you would write IDL, use MIDL
to
> compile it to get a type library, then some wizard use and little category
> dragging will fill in the details.  See the Wiki for Blair's instructions.
>
>
> >     I know it seems to have no sense, but can I pass Objects as
arguments?
> > perhaps serialized?
>
> You can pass interface pointers to COM objects, and you can pass around
> blobs of memory containing serialized objects, but in that case, the
caller

> almost certainly has to be Dolphin-based too, unless you agree on some
> common format besides STB.
>
> Have a good one,
>
> Bill
>
> --
> Wilhelm K. Schwab, Ph.D.
> [hidden email]
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Cannot Deploy usual DLLs tha's OK so...

Chris Uppal-3
Smalltalkiano wrote:

>     How do you make that a dolphin application interact with anhoter
> dolphin application in the same host?

If you are looking at Smalltalk<->Smalltalk communication, then the Dolphin
port of rST at
    http://www.smalltalking.net/goodies/Dolphin/
may be worth checking.  (I haven't looked at it myself).

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Cannot Deploy usual DLLs tha's OK so...

Udo Schneider
In reply to this post by Smalltalkiano-4
For a very simple approach you might take a look at the (Agent-) Chat
example application. It uses sockets to pass an STB encoded String between
the two running apps.


CU,

Udo

Smalltalkiano wrote:

> OK,
>
>     I'll change my question now.
>
>     How do you make that a dolphin application interact with anhoter
>     dolphin
> application in the same host?
>
>     Do you use the socket approach as a particular case (local-local)
> between aplications or do you prefer inter process comunication?
>
>     In the last case how this could be archieved?
>
>     thanks
>
> Seb
>
>
> "Bill Schwab" <[hidden email]> escribió en el mensaje
> news:b3berq$fb2$[hidden email]...
>> Seb,
>>
>> >      I've reading some posts on this NG but I'm not sure if I can
>> >      deploy
> a
>> > DLL with DST 5 or not.
>>
>> You can, but AFAIK, only COM DLLs.
>>
>>
>> >     As a DLL could be interesting to develop a component as 3rd party
>> > developer this could be useful.
>> >
>> >     If I can make a dll from dolphin I would like to know:
>> >
>> >     How do I define the API of this DLL?
>>
>> Assuming my response above is correct, then you would write IDL, use MIDL
> to
>> compile it to get a type library, then some wizard use and little
>> category
>> dragging will fill in the details.  See the Wiki for Blair's
>> instructions.
>>
>>
>> >     I know it seems to have no sense, but can I pass Objects as
> arguments?
>> > perhaps serialized?
>>
>> You can pass interface pointers to COM objects, and you can pass around
>> blobs of memory containing serialized objects, but in that case, the
> caller
>> almost certainly has to be Dolphin-based too, unless you agree on some
>> common format besides STB.
>>
>> Have a good one,
>>
>> Bill
>>
>> --
>> Wilhelm K. Schwab, Ph.D.
>> [hidden email]
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: Cannot Deploy usual DLLs tha's OK so...

Smalltalkiano-4
In reply to this post by Chris Uppal-3
Yes Chris,

    I'm using it right now.

    thanks

Seb


"Chris Uppal" <[hidden email]> escribió en el
mensaje news:3e5a11a4$0$9707$[hidden email]...
> Smalltalkiano wrote:
>
> >     How do you make that a dolphin application interact with anhoter
> > dolphin application in the same host?
>
> If you are looking at Smalltalk<->Smalltalk communication, then the
Dolphin
> port of rST at
>     http://www.smalltalking.net/goodies/Dolphin/
> may be worth checking.  (I haven't looked at it myself).
>
>     -- chris
>
>
>