Re: [BLACKBOX] interfacing foreign COMponents

From: Douglas G. Danforth <"Douglas>
Date: Tue, 7 Dec 2010 13:55:09 -0800

----boundary-LibPST-iamunique-1975042579_-_- Content-type: text/plain Gunnar, I believe Oberon Microsystems has a tool that (partly) automates the process of generating the interface module. You should contact them. -Doug Danforth On 12/7/2010 9:24 AM, gunnar bernhardt (VDI) wrote: 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 ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-1975042579_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzI0MyA8 IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv L0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzE5IDxodG1sPn0NCntcKlxo dG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMjQyICAgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59 DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzI0MSAgICAgfQ0Ke1wqXGh0bWx0YWcx IFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDEgICB9DQp7XCpcaHRtbHRhZzQxIDwvaGVhZD59DQp7XCpc aHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzI0MiAgIH0NCntcKlxodG1sdGFnNTAgPGJvZHkg dGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiI+fVxodG1scnRmIFx2aWV3a2luZDUNCntc KlxiYWNrZ3JvdW5kIHtcc2hwe1wqXHNocGluc3R7XHNwe1xzbiBmaWxsQ29sb3J9e1xzdiAxNjc3 NzIxNX19e1xzcHtcc24gZkZpbGxlZH17XHN2IDF9fX19fVxodG1scnRmMCANCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICB9e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0 bWxydGYwIEd1bm5hciwNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1JIGJlbGlldmUg T2Jlcm9uIE1pY3Jvc3lzdGVtcyBoYXMgYSB0b29sIHRoYXQgKHBhcnRseSkgYXV0b21hdGVzDQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9dGhlIHByb2Nlc3Mgb2YgZ2VuZXJhdGluZyB0 aGUgaW50ZXJmYWNlIG1vZHVsZS4NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBc aHRtbHJ0ZjAgIFlvdSBzaG91bGQNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1jb250 YWN0IHRoZW0uDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9LURvdWcgRGFuZm9ydGgN CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0 bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFn ODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN CntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1PbiAxMi83LzIwMTAgOToy NCBBTSwgZ3VubmFyIGJlcm5oYXJkdCAoVkRJKSB3cm90ZToNCntcKlxodG1sdGFnNCBccGFyIH1c aHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgICAgfXtcKlxodG1sdGFnNzJ9XGh0 bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlXHBhciAgICAg ICBjaXRlPSJtaWQ6QkxBQ0tCT1glMjUyMDEwMTIwNzE4MjQxMDg0NTAuMDA1RUBMSVNUUy5PQkVS T04uQ0giXHBhciAgICAgICB0eXBlPSJjaXRlIj59XGh0bWxydGYgXHBhcg0Ke1xodG1scnRmMCAN CntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICAgIH0NCntcKlxodG1sdGFn MTI4IDxwcmUgd3JhcD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYw IFxodG1scnRmIHtcaHRtbHJ0ZjAgXGxpMzYwIERlYXIgYWxsLFxsaW5lDQpcbGluZQ0KdGhlIGRv Y3VtZW50YXRpb24gc3RhdGVzIHRoYXQgJ0FueSAzMi1iaXQgRExMIGNhbiBiZSBpbXBvcnRlZCBp blxsaW5lDQogQ29tcG9uZW50IFBhc2NhbC4uLicuIEFzIGZhciBhcyBJIHVuZGVyc3RhbmQgdGhp cyByZWZlcnMgdG8gQ09NIGRsbHMuXGxpbmUNClxsaW5lDQpUaGlzIHRhc2sgaXMgZmFpcmx5IHNp bXBseSB3aXRoIEdQQ1A6XGxpbmUNCjEpIFJ1biBUbGJJbXAuZXhlIChmcm9tIHRoZSAuTkVUIFNE Sykgb24gdGhlIERsbCBvciBwcmVmZXJhYmx5IHRoZVxsaW5lDQogY29ycmVzcG9uZGluZyB0eXBl IGxpYnJhcnkgKHRsYikuXGxpbmUNCjIpIFJ1biBQZVRvQ3BzLmV4ZSAoZnJvbSBncGNwKS5cbGlu ZQ0KLQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgIFRoZSBkbGwgd2hp Y2ggaXMgY3JlYXRlZCBpbiB0aGUgZmlyc3Qgc3RlcCB3aWxsIHRyYW5zbGF0ZSB0aGUgY2FsbHNc bGluZQ0KIHRvIHRoZSBDT00tZGxsIGF0IHJ1bnRpbWUgdXNpbmcgSW50ZXJvcFNlcnZpY2VzLiBU aGlzIGFmZmVjdHMgcnVudGltZVxsaW5lDQogcGVyZm9ybWFuY2UgYnV0IHdvcmtzIGxpa2UgYSBj aGFybS5cbGluZQ0KXGxpbmUNCkkgc3VwcG9zZSB0aGVyZSBpcyBubyBwb3NzaWJpbGl0eSB0byBk byBzb21ldGhpbmcgY29tcGFyYWJsZSB3aXRoaW5cbGluZQ0KIEJsYWNrYm94P1xsaW5lDQpcbGlu ZQ0KSGF2ZSB5b3UgcGVyaGFwcyB1c2VkIGEgc2VtaS1hdXRvbWF0ZWQgYXBwcm9hY2g/IElmIHNv LCBkaWQgeW91IHVzZVxsaW5lDQogQysrIGhlYWRlcnMsIElETCBmaWxlcyBvciBzb21ldGhpbmcg ZGlmZmVyZW50PyBcbGluZQ0KXGxpbmUNClxsaW5lDQpUaGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXM6 IFxsaW5lDQonQmUgY2FyZWZ1bCB0byBkZWNsYXJlIGFsbCBtZXRob2RzIGluIHRoZSBtZXRob2Qg dGFibGUgaW4gdGhlIGNvcnJlY3RcbGluZQ0KIG9yZGVyIHdpdGggdGhlIGNvcnJlY3QgcGFyYW1l dGVyIGxpc3QuJyBcbGluZQ0KRG9lcyB0aGF0IG1lYW4geW91IGNhbiBub3Qgb21pdCBwYXJ0cyBv ZiBhbiBpbnRlcmZhY2U/IFxsaW5lDQpcbGluZQ0KXGxpbmUNCmtpbmQgcmVnYXJkc1xsaW5lDQpn dW5uYXJcbGluZQ0KXGxpbmUNClxsaW5lDQotLS0tXGxpbmUNClRvIHVuc3Vic2NyaWJlLCBzZW5k IGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIHt9DQp7XCpcaHRtbHRh Zzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpMSVNU U0VSVkBMSVNUUy5PQkVST04uQ0giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJM SU5LICJtYWlsdG86TElTVFNFUlZATElTVFMuT0JFUk9OLkNIIn19e1xmbGRyc2x0XGNmMVx1bCBc aHRtbHJ0ZjAgTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXGh0bWxydGYgfVxodG1scnRmMCBcaHRt bHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+fVxsaW5lDQpcbGluZQ0KXHBhclxo dG1scnRmfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxydGYgfVxodG1s cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgICB9DQp7XCpcaHRt bHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnNTggPC9ib2R5Pn0N CntcKlxodG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMjcgPC9odG1sPn0NCntcKlxodG1sdGFn MyBccGFyIH0NCntcKlxodG1sdGFnNjQgPHA+fVxodG1scnRmIHtcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9LS0tLQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAg VG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JP WCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy dGYgIFxodG1scnRmMCBcaHRtbHJ0Zn19AG1pdCBwYXJ0cyBvZiBh ----boundary-LibPST-iamunique-1975042579_-_--- Received on Tue Dec 07 2010 - 22:55:09 UTC

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