Ryan's Rambling

Tuesday, June 29, 2004

"With" is a bad thing

"with" is bad. Just to be clear I am not talking about the Delphi "with" statement although it certainly can be abused at times. The "with" that is always bad is the one implemented in the Microsoft JScript implementation as noted by one of the authors.

I find this quite interesting as, at first glance, I would consider it as something the script engine could use to improve performance. I know I don't have much code that would be reliant on this particular feature but I will certainly be reviewing and removing it where and when appropriate.

Labels:

Monday, June 21, 2004

Small Optimization for Imported Type Libraries

When you import a type library in any version of Delphi it will generate a series of interfaces, constants, and wrappers. This is great but it will always place nearlythe same list of units in the interface uses clause. This will typically look like this "uses Windows, ActiveX, Classes, Graphics, OleCtrls, OleServer, StdVCL, Variants;" Depending on what you are using the imported type library for this list creates references that will bloat your application, especially if it is a server side program.

You can clean up this list by removing all but "uses Windows, ActiveX;" and the unit should still remain complete but you have removed many dependencies that you don't need. The resulting executable, if it isn't already dependent on the graphics and OLE support will be much smaller. On occassion, you will need to include OleCtrls if the imported control has events and you care about dropping the control on a form or data module.

Labels:

Saturday, June 12, 2004

Windows CE ActiveSync

Well, over the past couple of weeks I have been tinkering on and off with the Windows CE devices again. Of particular interest has been integration into the ActiveSync process. The only sample application that is provided by MS is called StockPor and while it does the job and works it only offers a single viewpoint and is so much like any other initial example. It lacks the growth pains that someone else has worked through to get things working.

To tackle this problem I have been using eVC 3 for the client library (the sync library that sits on the device), eVB 3 for the handheld applet (doesn't get much easier to use since you have ADO support), and Delphi for the server sync library (after having converted the CESync.h and requiredheaders)and MS SQL server for the server store (not using active sync built in functions though). It has been progressing fairly well and I have framed in all the layers but have stumbled on a few points of the API that simply are not clear.

So, as time permits, I have been actively searching for other ActiveSync source code examples to find some lessons learned and alternate views of the function implementations. I have found a site with three separate ActiveSync enabled tools but they are not compiled for the device I am using and the source code is not available. Anyone interested in these ActiveSync Tools can pick them up here. The search continues...

Labels:

Novell NetDrive allows mapping FTP folders

I have not given it a try but wanted to make sure I didn't forget where it was or how mentioned it. If it works that would be great as everything else I have seen is not free.

NetDrive Download link
Robert Love's reference to CrossKylix

Now if Borland would update Kylix it might be worthwhile getting back to porting some of our server code. Since setting up a Virtual Server with RedHat9 and installing Kylix I know I have been looking for the time to test some of it out.

Thursday, June 10, 2004

Annoying eVC device download problems

I have been playing around with some handheld development again (did some a few years ago). I am really just exploring ActiveSync and what the state of the tools are presently. So I have been picking as eVC/eVB 3, eVC4, and the Compact Framework. As before, some of it was easy while other bits of it can be extremely frustrating. Getting eVC3 to consistently download the binaries happens to be one of the most annoying gotchas :(.

After trying a few dozen different things from various topics in the groups one solution has come up consistently as solving the problem of eVC failing to start/connect to the device during the build. All you need to do is start up a copy of the Remote Zoomin tool and it will prime the connection, cancel it after it starts downloading the bitmap if you wish but it is best to leave it running. From the point on (until you undock) you can build to your hearts content.

It is a shame about the undocking bits since what I am playing with relate to ActiveSync and having to redo those steps can be bothersome at times but at least it works.

<tapping_foot>When will Delphi for CF be ready...</tapping_foot>

Labels:

Tuesday, June 01, 2004

Interesting article at linuxinsider.com

I found this article at linuxinsiders.com well worth reading and a bit refreshing. While I wouldn't step and call MS angels I do think they get more bad credit then they deserve. It is a bit of chuckle that someone is suggesting that a relationshipexists between Minix and Linux since they take to an extremely different approach to how the kernel operates (Linux is monolithic [or was] while the Minux kernel is based on messaging and services). Itdefinitely brings back fond memoriesplaying with that code back years ago. Nice to see that amobea is still running strong as well.