LC Builder and 3rd Part DLLs under Windows
Matthias Rebbe
matthias_livecode_150811 at m-r-d.de
Tue Aug 7 18:11:15 EDT 2018
Trevor,
thank you so much for your example and for verifying that LCB can execute handlers in the dll.
“Good luck” is well said, i need more than good luck. ;)
Regards,
Matthias
> Am 07.08.2018 um 19:52 schrieb Trevor DeVore via use-livecode <use-livecode at lists.runrev.com <mailto:use-livecode at lists.runrev.com>>:
>
> Matthias,
>
> I downloaded and installed the demo and was able to link to the DLL.
>
> 1. Create a folder named `TBarCode`.
> 2. In that folder create a `code/x86-win32` folder.
> 3. Copy the `TBarCode11.dll` and `zlib1.dll` (not positive this is
> required) files from the Program Files(x86) folder (NOT the 64-bit
> versions) and place in the `./code/x86-win32` folder.
> 4. Create a file in the `TBarCode` folder named `tbarcode.lcb`
> 5. Place the following script in the `tbarcode.lcb` file and save it.
>
> ```
> library community.livecode.tbarcode
>
> use com.livecode.foreign
> use com.livecode.engine
> use com.livecode.file
>
> metadata title is "TBarCode"
> metadata author is ""
> metadata version is "0.1.0"
>
> private foreign handler win_tbarcode_licenseMe(in pLicensee as
> ZStringUTF16, in pKindOfLicense as CULong, in pNoOfLicenses as CULong, \
> in pKey as ZStringUTF16, in pProductID as CULong) \
> returns CULong binds to “c:TBarCode11>BCLicenseMeW!stdcall"
>
>
> public handler TestMe() returns String
> variable tError as Number
>
> unsafe
> put win_tbarcode_licenseMe("LicenseeName", 3, 1, "LicenseKey", 2023)
> into tError
> end unsafe
> log tError
> return "success"
> end handler
> end library
> ```
>
> 6. Open tbarcode.lcb in the Extension Builder and test it by pressing the
> “Play” button on the bottom of the Extension Builder window.
> 7. In the Message Box run: `put TestMe()`
>
> Assuming all is well you should see “success” appear with a “0” in the log
> field. I didn’t verify that I used the correct types for pKindOfLicense,
> pNoOfLicenses, and pProductId. I was just verifying that LCB would execute
> a handler in the DLL.
>
> Ask or docs you can look at the following two docs on the web:
>
> https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md <https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md>
> https://github.com/livecode/livecode-ide/blob/develop/Documentation/guides/Extending%20LiveCode.md
>
> They are available as guides in the IDE docs but I find it easier to scan
> and search in the web browser.
>
> Good luck!
>
> --
> Trevor DeVore
> ScreenSteps
> www.screensteps.com
>
>
> On Tue, Aug 7, 2018 at 9:41 AM Matthias Rebbe via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
>> Hi Trevor,
>>
>> thank you very much for your offer.
>>
>> I am interested in using the Barcode SDK for Windows from TEC-IT.
>> https://www.tec-it.com/en/download/tbarcode/Download.aspx <
>> https://www.tec-it.com/en/download/tbarcode/Download.aspx>
>>
>> Regards,
>>
>> Matthias
>>
>>
>>
>>> Am 07.08.2018 um 16:23 schrieb Trevor DeVore via use-livecode <
>> use-livecode at lists.runrev.com>:
>>>
>>> Matthias,
>>>
>>> Yes it is possible. I don't know of any 3rd party DLL examples. Can you
>>> point me to a DLL you want to wrap? I may be able to put together the
>>> skeleton of an LCB extension for you to get started with.
>>>
>>> --
>>> Trevor DeVore
>>> ScreenSteps
>>> www.screensteps.com
>>>
>>> On Tue, Aug 7, 2018 at 5:33 AM Matthias Rebbe via use-livecode <
>>> use-livecode at lists.runrev.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> i make use of the Widgets in LC 9 very often and i am really impressed
>>>> what is possible with LCB.
>>>> I have no deep knowledge of LCB, but if i understand correctly then LCB
>> is
>>>> able to call OS APIs, right?
>>>>
>>>> If so, is it also possible to call functions of a 3rd party DLL under
>>>> Windows?
>>>>
>>>> I know there is a very nice but old example on Ken Ray´s page how to
>> use
>>>> external DLLs in LC,
>>>>
>>>> But now with LCB i would prefer LCB to do the complete “wrapping”.
>>>>
>>>> So would it be possible? And if so, are there any examples available
>>>> already?
>>>>
>>>> Regards,
>>>>
>>>> Matthias
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode at lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
Matthias Rebbe
Tel +49 5741 310000
https://matthiasrebbe.eu <https://matthiasrebbe.eu/>
More information about the use-livecode
mailing list