Delphi Xe Serial Port Component Speakers

Active6 years, 3 months ago

Delphi XE2

He instalado la versión 1.0.0 de GMLib y todo bien.En un programa he añadido un form con los siguientes componentes:TWebbrowser, TGMMap, TGMMarker

y me aparece el siguiente error de compilación

Access The Com Port On Android With Delphi XE5 Firemonkey Component By Admin on February 11, 2014 Winsoft has a native pascal component for Delphi XE5 Firemonkey on Android which will allow you to communicate with the ComPort of your Android device.

[DCC Error] GMMap.pas(2012): E2003 Undeclared identifier: 'TCustomWeb'[DCC Fatal Error] GMFunctions.pas(927): F2063 Could not compile used unit 'GMRectangle.pas'

En Options/Lib tengo los path según lo indicas en el fichero de instalación.He desinstalado, borrado todo manualmente y vuelto a reinstalar pero vuelve a dar el mismo error

Un saludo

Delphi XE2

I Have installed GMLib 1.0.0 and quite well.In a program I have added a form with the following components:TWebbrowser, TGMMap, TGMMarker and me there appears the following mistake of compilation [DCC error] GMMap.pas (2012): E2003 Undeclared identifier: 'TCustomWeb'[DCC fatal error] GMFunctions.pas (927): F2063 Could not compiles used unit 'GMRectangle.pas' In Options/Lib I have the path as you it indicate in the file of installation. I have uninstaled, erased everything manually and turned to reinstalling but the same error returns to give

Best regards

TLama
66.2k15 gold badges168 silver badges306 bronze badges
PacoPepePacoPepe

2 Answers

You need to add these folders of the installation to your library path (for 32 bits platform):

for 64 bits platform you need to add:

and if you want to debug the components these to:

Regards

cadetillcadetill

Already I have found the problem

In the project, it was referring to a unit that had included your (Cadetill class) class TWebControl. In GMLib you turn it to using, but a more modern version, in which now you include TCustomWeb, which before would not be

Best regards

PacoPepePacoPepe

Not the answer you're looking for? Browse other questions tagged delphidelphi-xe2gmlib or ask your own question.

Active7 years, 8 months ago

A few years back for one of my applications I moved my serial handling to a thread when a certain app had to respond very quickly to certain serial events.

It was in BDS2006, with an older version (some 3.x?) It was done by having code like this in the tthread.execute:

Initialization was like

The rxchar method reads using comport1.readstr()

I recently had to dig this up, and noticed it didn't work in my Delphi XE, which has tcomport4. Looking in the source I saw remarks thatcomport4 has changed the way it deals with its internal threads ('overlapped' property), but the default seems to be 'true' has a comment 'classic', and I

assumed that means compatible with older versions.

Note that the protocols are binary, and all string,char<-> ansistring,ansichar changes have been done like I did in the normal mainthread version

Now the real questions:

  1. does anybody have tcomport4 working in a thread ?
  2. Are there obvious mistakes in the above?
  3. or do I need to migrate to a different component?

I'm still debugging what is going on, but am in a hurry, which is while I post this in the hope of quickly getting pointers.

Update

Port

I reinstalled an old turbo delphi copy, and verified it worked there with v3. I fixed a small bug though in the codepath that went a bit different from what I thought (not in the above code)

This allows me to describe the behaviour between dxe/comportv4 and bds2006/comportv3 better; the v4 code generates much more read events (hundreds/second). It seems that the read doesn't delete the read chars from the incoming queue or so.

Update 2

I did a quick test with the newest version, and did the necessary rearranging (kill string function use for an essentially binary protocol). I got stuck for a while because the application crashed on startup, but that is because I use gnugettext, and Comport packages a different (non unicode even?) version. But after that it works.

Unfortunately the changes are a bit to risky to propagate back to the production version (completely written protocol decoding), so I'll have to test with inbetween versions (between 4.0 and 4.11f). I'll do that in due time, any suggestion which version was the last readstr(ansistring) one?

Update 3

Delphi Xe Serial Port Component Speakers

In the end I simply renamed the 4.11f units and use them in parallel to the old version, using the 4.11f for the threaded codebases and the old one to maintain existing code.

Long term I might simply take the waitforevent code and make an own version. The main problem with it is that it is afaik not possible to see if the wait terminated on timeout, stopevent or whatever. This means you need another timer if you want to e.g. send on regular intervals.

Marco van de Voort
Marco van de VoortMarco van de Voort
22.7k5 gold badges44 silver badges81 bronze badges

1 Answer

You need to upgrade to the latest stable 4.11 release here.

Warren P

Serial Port Adalah

Warren P

Parallel Port

41.3k34 gold badges155 silver badges284 bronze badges
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.

Delphi Xe Serial Port Component Speakers For Sale

Not the answer you're looking for? Browse other questions tagged delphitcomport or ask your own question.