RE: Creating DLLs in BlackBox

From: CFB Software <"CFB>
Date: Tue, 10 Feb 2004 21:17:21 +1030

----boundary-LibPST-iamunique-21713806_-_-
Content-type: text/plain

> I have written a BlackBox module to use the BlackBox example dll
> Mydll. This
> takes about 2 lines and works.
>
> BUT I CAN'T use it from Visual Basic, which says 'Can't find
> entry point Gcd'.
> This is consistent with the Quick View utility, which does not
> have an Export
> table for it.
>
> What am I missing?. Is there a way/need to add entry points to Mydll?
>

The Delphi solution is equally short. You just need to declare the
functions:

function Gcd(a, b: integer): integer; external 'Mydll.dll';

function Lcm(a, b: integer): integer; external 'Mydll.dll';

and then call them as though they had been written in Delphi.

However, in my test program the call to Gcd is fine, but the call to Lcm
returns a large negative number and then crashes - I haven't yet been able
to work out why.

Maybe the name of the entry point is a case-sensitivity issue?

In Delphi, if you don't know the names of the entry points you can refer to
them by number like so:

function XXX(a, b: integer): integer; external 'Mydll.dll' index 1;

function YYY(a, b: integer): integer; external 'Mydll.dll' index 2;

Chris Burrows
CFB Software
http://www.cfbsoftware.com

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.



----boundary-LibPST-iamunique-21713806_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwID4gSSBoYXZlIHdyaXR0ZW4gYSBCbGFja0JveCBt
b2R1bGUgdG8gdXNlIHRoZSBCbGFja0JveCBleGFtcGxlIGRsbFxwYXINCj4gTXlkbGwuIFRoaXNc
cGFyDQo+IHRha2VzIGFib3V0IDIgbGluZXMgYW5kIHdvcmtzLlxwYXINCj5ccGFyDQo+IEJVVCBJ
IENBTidUIHVzZSBpdCBmcm9tIFZpc3VhbCBCYXNpYywgd2hpY2ggc2F5cyAnQ2FuJ3QgZmluZFxw
YXINCj4gZW50cnkgcG9pbnQgR2NkJy5ccGFyDQo+IFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRo
ZSBRdWljayBWaWV3IHV0aWxpdHksIHdoaWNoIGRvZXMgbm90XHBhcg0KPiBoYXZlIGFuIEV4cG9y
dFxwYXINCj4gdGFibGUgZm9yIGl0LlxwYXINCj5ccGFyDQo+IFdoYXQgYW0gSSBtaXNzaW5nPy4g
SXMgdGhlcmUgYSB3YXkvbmVlZCB0byBhZGQgZW50cnkgcG9pbnRzIHRvIE15ZGxsP1xwYXINCj5c
cGFyDQpccGFyDQpUaGUgRGVscGhpIHNvbHV0aW9uIGlzIGVxdWFsbHkgc2hvcnQuIFlvdSBqdXN0
IG5lZWQgdG8gZGVjbGFyZSB0aGVccGFyDQpmdW5jdGlvbnM6XHBhcg0KXHBhcg0KZnVuY3Rpb24g
R2NkKGEsIGI6IGludGVnZXIpOiBpbnRlZ2VyOyBleHRlcm5hbCAnTXlkbGwuZGxsJztccGFyDQpc
cGFyDQpmdW5jdGlvbiBMY20oYSwgYjogaW50ZWdlcik6IGludGVnZXI7IGV4dGVybmFsICdNeWRs
bC5kbGwnO1xwYXINClxwYXINCmFuZCB0aGVuIGNhbGwgdGhlbSBhcyB0aG91Z2ggdGhleSBoYWQg
YmVlbiB3cml0dGVuIGluIERlbHBoaS5ccGFyDQpccGFyDQpIb3dldmVyLCBpbiBteSB0ZXN0IHBy
b2dyYW0gdGhlIGNhbGwgdG8gR2NkIGlzIGZpbmUsIGJ1dCB0aGUgY2FsbCB0byBMY21ccGFyDQpy
ZXR1cm5zIGEgbGFyZ2UgbmVnYXRpdmUgbnVtYmVyIGFuZCB0aGVuIGNyYXNoZXMgLSBJIGhhdmVu
J3QgeWV0IGJlZW4gYWJsZVxwYXINCnRvIHdvcmsgb3V0IHdoeS5ccGFyDQpccGFyDQpNYXliZSB0
aGUgbmFtZSBvZiB0aGUgZW50cnkgcG9pbnQgaXMgYSBjYXNlLXNlbnNpdGl2aXR5IGlzc3VlP1xw
YXINClxwYXINCkluIERlbHBoaSwgaWYgeW91IGRvbid0IGtub3cgdGhlIG5hbWVzIG9mIHRoZSBl
bnRyeSBwb2ludHMgeW91IGNhbiByZWZlciB0b1xwYXINCnRoZW0gYnkgbnVtYmVyIGxpa2Ugc286
XHBhcg0KXHBhcg0KZnVuY3Rpb24gWFhYKGEsIGI6IGludGVnZXIpOiBpbnRlZ2VyOyBleHRlcm5h
bCAnTXlkbGwuZGxsJyBpbmRleCAxO1xwYXINClxwYXINCmZ1bmN0aW9uIFlZWShhLCBiOiBpbnRl
Z2VyKTogaW50ZWdlcjsgZXh0ZXJuYWwgJ015ZGxsLmRsbCcgaW5kZXggMjtccGFyDQpccGFyDQpD
aHJpcyBCdXJyb3dzXHBhcg0KQ0ZCIFNvZnR3YXJlXHBhcg0KaHR0cDovL3d3dy5jZmJzb2Z0d2Fy
ZS5jb21ccGFyDQpccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLVxwYXINClxwYXINClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBtYWlsaW5nIGxpc3QsIHNl
bmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgInVuc3Vic2NyaWJlIiB0bzpccGFyDQog
ICBibGFja2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxwYXINClxwYXINClRvIGdldCBhIGxpc3Qgb2Yg
dmFsaWQgZS1tYWlsIGNvbW1hbmRzIGFuZCBpbnN0cnVjdGlvbnMgb24gdGhlaXIgdXNhZ2UsIHNl
bmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBhYm92ZSBhZGRy
ZXNzLlxwYXINClxwYXINClNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVs
YXRlZCB0byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhlIGxpc3Qgb3duZXIgYXRccGFyDQogICBvd25l
ci1ibGFja2JveEBvYmVyb24uY2hccGFyDQpccGFyDQpDdXJyZW50IHBvc3RpbmcgcG9saWN5Olxw
YXINClxwYXINCmEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYWRkcmVzcyBieSB3
aGljaCB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcgbGlzdC4gVGhhdCB3YXksIHRo
ZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vic2NyaWJlciBhbmQgZm9yd2Fy
ZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFk
LlxwYXINClxwYXINCmIpIElmLCBmb3Igc29tZSByZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9t
IHRoZSBhZGRyZXNzLCBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3
aWxsIGJlIG1vZGVyYXRlZCB0byBhdm9pZCBzcGFtLiBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IG1v
ZGVyYXRpb24gd2lsbCBvZnRlbiBjYXVzZSBzb21lIGRlbGF5LCBpbiBwYXJ0aWN1bGFyIG92ZXIg
d2Vla2VuZHMgb3IgaG9seWRheXN9fQBHT09EX0VYQ0hBTg==


----boundary-LibPST-iamunique-21713806_-_---
Received on Tue Feb 10 2004 - 11:47:21 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:55 UTC