2
votes

The most recent preview of DWScript is from October two years ago, and since the project is active and I want to use it in XE7, I thought I would check out the latest source (r2653 at the time of writing) and install from that instead. The latest looks reasonable: there isn't a heap of code churn and XE7 support was only added two revisions ago.

The main problem is: there are three .BPKs: dwsLib, dwsLibRuntime, and dwsLibDesignOnly. These seem to have a circular dependency. dwsLib requires dwsLibRuntime. dwsLibDesignOnly also does. However, dwsLib and dwsLibRuntime give a number of errors opening: "Class TdwsUnit not found." In other words they both seem to depend on the designtime package already being installed.

In addition, there are a few odd things, such as no projects - just .BPK files - not a problem, but it marks the last 'how to install' answer (XE3) as very out of date. One other question (XE2 era) says to compile despite the "Class TdwsUnit not found" message, but how can that provide correct results? However, going ahead and doing this for the runtime package results in file dwsWebUtils.pas not being found; this isn't in the Source folder. There is a file of the same name in ..\Libraries\SimpleServer, but the path shown in the Project Manager to the nonexistent dwsWebUtils.pas indicates this is probably not the same file. If it is, it's not in the project paths and it's the only non-Source file required.

To summarise:

  • There are three packages instead of the normal two (not a problem, but adds to the confusion in the absence of explanatory documentation)
  • The DPKs have odd dependencies, and appear to cause a circular reference: the root dependency (dswLib) requires designtime packages, which can't be installed without the runtime package, which has a missing designtime class and requires the lib package, which...
  • Compiling the runtime package ignoring the missing class errors gives a missing file error, for a file that's not in the Source folder. There is one three folders away, but it's not the one referred to in the Project Manager, according to the paths there.
  • There's no installation documentation answering these questions, nor a build script or similar.

Normally I'd feel a bit silly asking how to install a component or library, but after the above I'm feeling a bit puzzled. None of the two other questions seem correct, and even if I compile despite the missing class, it doesn't seem like it will give a full / correct installation. So - how do you install?

Edit: a commenter below says, "I don't know where you found the .bpk file you are referring to." Here they are:

The three DWS BPK files

As you can see, there are three, one dwsLib, one dwsRuntime, and one dwsDesigntimeOnly.

1
You were referring to bpk files. I'm only seeing dpk files.SpeedFreak

1 Answers

1
votes

I'm assuming you just need the design time package installed...

In that case just drag dwsLibDesignOnly.dpk into the IDE, right click on it in the project manager and select Install. If you have the library or package search path set up to include all the required folders1 this should build and install the design time package without further ado.

I don't know where you found the .bpk file you are referring to. I haven't got them in my copy (r2653). Also I'm not seeing any circular dependencies.


  1. ..\Source
    ..\Libraries\SimpleServer