- blinking a led: Delphi PCHAR->CP array?

From: [at]} <"frans-pietervonck{>
Date: Sat, 27 May 2006 00:21:06 +0200

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

Hello Blackboxers,

I want to blink a led using using Kainka's "PC Interfaces under Windows".
The book comes with a dll - PORT.DLL - which enables communication with
the serial ports under XP.
With Delphi the led blinks. In BlackBox, I can't get it light. I suspect
that my way of translating the delphi PCHAR-type
into an array is not correct. Can I use an array as an null terminated
string? Anyone some advice?

In delphi, opening the com-port is done as follows.

Function OPENCOM(S:PCHAR):Integer;stdcall; external PORT.DLL;

for example: OpenCom (Pchar('COM1:9600,N,8,1'));
OpemCom returns a 1 when connected, 0 when failed.

Following my the translation of the function to component pascal

INTERFACE:
constr* = ARRAY 18 OF CHAR;
PROCEDURE opencom* ["OPENCOM"]
(Constr:constr) : INTEGER;

TESTFUNCTION:
open := PortDLL.opencom("COM1:9600,N,8,1");



The two modules I've used.
-----------------------
INTERFACE
----------------------
MODULE PortDLL ["PORT.DLL"];
IMPORT SYSTEM;
TYPE

constr* = ARRAY 18 OF CHAR;

PROCEDURE opencom* ["OPENCOM"]
(Constr:constr) : INTEGER;

END PortDLL.

----------------------------------
TESTMODULE
----------------------------------
MODULE TestPort;

    IMPORT PortDLL, StdLog;
    VAR open: INTEGER;
   
    PROCEDURE Do*;
    BEGIN
        open := 3;
        open := PortDLL.opencom("COM1:9600,N,8,1");
        IF open = 1 THEN
            StdLog.String("Opening COM1 successful. "); StdLog.Ln
        END;
        IF open = 0 THEN
            StdLog.String("Opening COM1 failed."); StdLog.Ln
        END;
    END Do;

END TestPort.
-----------------------------------

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy



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

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhlbGxvIEJsYWNrYm94ZXJzLFxwYXINClxwYXIN
Ckkgd2FudCB0byBibGluayBhIGxlZCB1c2luZyB1c2luZyBLYWlua2EncyAiUEMgSW50ZXJmYWNl
cyB1bmRlciBXaW5kb3dzIi5ccGFyDQpUaGUgYm9vayBjb21lcyB3aXRoIGEgZGxsIC0gUE9SVC5E
TEwgLSB3aGljaCBlbmFibGVzIGNvbW11bmljYXRpb24gd2l0aCBccGFyDQp0aGUgc2VyaWFsIHBv
cnRzIHVuZGVyIFhQLlxwYXINCldpdGggRGVscGhpIHRoZSBsZWQgYmxpbmtzLiBJbiBCbGFja0Jv
eCwgSSBjYW4ndCBnZXQgaXQgbGlnaHQuIEkgc3VzcGVjdCBccGFyDQp0aGF0IG15IHdheSBvZiB0
cmFuc2xhdGluZyB0aGUgZGVscGhpIFBDSEFSLXR5cGVccGFyDQppbnRvIGFuIGFycmF5IGlzIG5v
dCBjb3JyZWN0LiBDYW4gSSB1c2UgYW4gYXJyYXkgYXMgYW4gbnVsbCB0ZXJtaW5hdGVkIFxwYXIN
CnN0cmluZz8gQW55b25lIHNvbWUgYWR2aWNlP1xwYXINClxwYXINCkluIGRlbHBoaSwgb3Blbmlu
ZyB0aGUgY29tLXBvcnQgaXMgZG9uZSBhcyBmb2xsb3dzLlxwYXINClxwYXINCkZ1bmN0aW9uIE9Q
RU5DT00oUzpQQ0hBUik6SW50ZWdlcjtzdGRjYWxsOyBleHRlcm5hbCBQT1JULkRMTDtccGFyDQpc
cGFyDQpmb3IgZXhhbXBsZTogT3BlbkNvbSAoUGNoYXIoJ0NPTTE6OTYwMCxOLDgsMScpKTtccGFy
DQpPcGVtQ29tICByZXR1cm5zIGEgMSB3aGVuIGNvbm5lY3RlZCwgMCB3aGVuIGZhaWxlZC5ccGFy
DQpccGFyDQpGb2xsb3dpbmcgbXkgdGhlIHRyYW5zbGF0aW9uIG9mIHRoZSBmdW5jdGlvbiAgdG8g
Y29tcG9uZW50IHBhc2NhbFxwYXINClxwYXINCklOVEVSRkFDRTpccGFyDQpjb25zdHIqID0gIEFS
UkFZIDE4IE9GIENIQVI7XHBhcg0KUFJPQ0VEVVJFIG9wZW5jb20qIFsiT1BFTkNPTSJdXHBhcg0K
KENvbnN0cjpjb25zdHIpIDogSU5URUdFUjtccGFyDQpccGFyDQpURVNURlVOQ1RJT046XHBhcg0K
b3BlbiA6PSBQb3J0RExMLm9wZW5jb20oIkNPTTE6OTYwMCxOLDgsMSIpO1xwYXINClxwYXINClxw
YXINClxwYXINClRoZSB0d28gbW9kdWxlcyBJJ3ZlIHVzZWQuXHBhcg0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS1ccGFyDQpJTlRFUkZBQ0VccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0K
TU9EVUxFIFBvcnRETEwgWyJQT1JULkRMTCJdO1xwYXINCklNUE9SVCBTWVNURU07XHBhcg0KVFlQ
RVxwYXINClxwYXINCmNvbnN0ciogPSAgQVJSQVkgMTggT0YgQ0hBUjtccGFyDQpccGFyDQpQUk9D
RURVUkUgb3BlbmNvbSogWyJPUEVOQ09NIl1ccGFyDQooQ29uc3RyOmNvbnN0cikgOiBJTlRFR0VS
O1xwYXINClxwYXINCkVORCBQb3J0RExMLlxwYXINClxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS1ccGFyDQpURVNUTU9EVUxFXHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLVxwYXINCk1PRFVMRSBUZXN0UG9ydDtccGFyDQpccGFyDQogICAgSU1QT1JU
IFBvcnRETEwsIFN0ZExvZztccGFyDQogICAgVkFSIG9wZW46IElOVEVHRVI7XHBhcg0KICAgXHBh
cg0KICAgIFBST0NFRFVSRSBEbyo7XHBhcg0KICAgIEJFR0lOXHBhcg0KICAgICAgICBvcGVuIDo9
IDM7XHBhcg0KICAgICAgICBvcGVuIDo9IFBvcnRETEwub3BlbmNvbSgiQ09NMTo5NjAwLE4sOCwx
Iik7XHBhcg0KICAgICAgICBJRiBvcGVuID0gMSBUSEVOXHBhcg0KICAgICAgICAgICAgU3RkTG9n
LlN0cmluZygiT3BlbmluZyBDT00xIHN1Y2Nlc3NmdWwuICIpOyBTdGRMb2cuTG5ccGFyDQogICAg
ICAgIEVORDtccGFyDQogICAgICAgIElGIG9wZW4gPSAwIFRIRU5ccGFyDQogICAgICAgICAgICBT
dGRMb2cuU3RyaW5nKCJPcGVuaW5nIENPTTEgZmFpbGVkLiIpOyBTdGRMb2cuTG5ccGFyDQogICAg
ICAgIEVORDtccGFyDQogICAgRU5EIERvO1xwYXINClxwYXINCkVORCBUZXN0UG9ydC5ccGFyDQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxwYXINClxwYXINCi0tLSBCbGFja0Jv
eFxwYXINCi0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBv
YmVyb24uY2h9fQB0ef8u4B4UC4Af


----boundary-LibPST-iamunique-1209526756_-_---
Received on Sat May 27 2006 - 00:21:06 UTC

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