[BLACKBOX] interfacing foreign COMponents

From: VDI <bernhardt.gunnar{([at]})nowhere.xy>
Date: Tue, 7 Dec 2010 18:24:03 +0100

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

Dear all,

the documentation states that 'Any 32-bit DLL can be imported in
 Component Pascal...'. As far as I understand this refers to COM dlls.

This task is fairly simply with GPCP:
1) Run TlbImp.exe (from the .NET SDK) on the Dll or preferably the
 corresponding type library (tlb).
2) Run PeToCps.exe (from gpcp).
-> The dll which is created in the first step will translate the calls
 to the COM-dll at runtime using InteropServices. This affects runtime
 performance but works like a charm.

I suppose there is no possibility to do something comparable within
 Blackbox?

Have you perhaps used a semi-automated approach? If so, did you use
 C++ headers, IDL files or something different?


The documentation states:
'Be careful to declare all methods in the method table in the correct
 order with the correct parameter list.'
Does that mean you can not omit parts of an interface?


kind regards
gunnar


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-148304602_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERlYXIgYWxsLFxwYXINClxwYXINCnRoZSBkb2N1
bWVudGF0aW9uIHN0YXRlcyB0aGF0ICdBbnkgMzItYml0IERMTCBjYW4gYmUgaW1wb3J0ZWQgaW5c
cGFyDQogQ29tcG9uZW50IFBhc2NhbC4uLicuIEFzIGZhciBhcyBJIHVuZGVyc3RhbmQgdGhpcyBy
ZWZlcnMgdG8gQ09NIGRsbHMuXHBhcg0KXHBhcg0KVGhpcyB0YXNrIGlzIGZhaXJseSBzaW1wbHkg
d2l0aCBHUENQOlxwYXINCjEpIFJ1biBUbGJJbXAuZXhlIChmcm9tIHRoZSAuTkVUIFNESykgb24g
dGhlIERsbCBvciBwcmVmZXJhYmx5IHRoZVxwYXINCiBjb3JyZXNwb25kaW5nIHR5cGUgbGlicmFy
eSAodGxiKS5ccGFyDQoyKSBSdW4gUGVUb0Nwcy5leGUgKGZyb20gZ3BjcCkuXHBhcg0KLT4gVGhl
IGRsbCB3aGljaCBpcyBjcmVhdGVkIGluIHRoZSBmaXJzdCBzdGVwIHdpbGwgdHJhbnNsYXRlIHRo
ZSBjYWxsc1xwYXINCiB0byB0aGUgQ09NLWRsbCBhdCBydW50aW1lIHVzaW5nIEludGVyb3BTZXJ2
aWNlcy4gVGhpcyBhZmZlY3RzIHJ1bnRpbWVccGFyDQogcGVyZm9ybWFuY2UgYnV0IHdvcmtzIGxp
a2UgYSBjaGFybS5ccGFyDQpccGFyDQpJIHN1cHBvc2UgdGhlcmUgaXMgbm8gcG9zc2liaWxpdHkg
dG8gZG8gc29tZXRoaW5nIGNvbXBhcmFibGUgd2l0aGluXHBhcg0KIEJsYWNrYm94P1xwYXINClxw
YXINCkhhdmUgeW91IHBlcmhhcHMgdXNlZCBhIHNlbWktYXV0b21hdGVkIGFwcHJvYWNoPyBJZiBz
bywgZGlkIHlvdSB1c2VccGFyDQogQysrIGhlYWRlcnMsIElETCBmaWxlcyBvciBzb21ldGhpbmcg
ZGlmZmVyZW50PyBccGFyDQpccGFyDQpccGFyDQpUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXM6IFxw
YXINCidCZSBjYXJlZnVsIHRvIGRlY2xhcmUgYWxsIG1ldGhvZHMgaW4gdGhlIG1ldGhvZCB0YWJs
ZSBpbiB0aGUgY29ycmVjdFxwYXINCiBvcmRlciB3aXRoIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBs
aXN0LicgXHBhcg0KRG9lcyB0aGF0IG1lYW4geW91IGNhbiBub3Qgb21pdCBwYXJ0cyBvZiBhbiBp
bnRlcmZhY2U/IFxwYXINClxwYXINClxwYXINCmtpbmQgcmVnYXJkc1xwYXINCmd1bm5hclxwYXIN
ClxwYXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0
aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0h9fQAA
AAAA
----boundary-LibPST-iamunique-148304602_-_---
Received on Tue Dec 07 2010 - 18:24:03 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:27 UTC