Jump to content
Excelsior Forums


  • Content count

  • Joined

  • Last visited


Community Reputation

0 Neutral

About Vit

  • Rank
  • Birthday 01/01/1
  1. I've run your program under Linux and it displays meaningful results (y=2005, m=7, d=6, etc..) So you should better trace where your problems start... > SysClock.CanGetClock() says I can get the Time and Date and assign them. It actually always returns TRUE > However, SysClock.IsValidDateTime says that my DateTime record is invalid after using SysClock.GetClock Please look at the contents of SysClock.DateTime record that GetClock returns at each phase. Are all fields all right? IsValidDateTime actually performs the following check of its parameter d: IF (d.day<1) OR (d.day>31) THEN RETURN FALSE END; IF (d.month<1) OR (d.month>12) THEN RETURN FALSE END; IF (d.year<1) THEN RETURN FALSE END; IF (ORD(d.month) IN m30days) & (d.day>30) THEN RETURN FALSE END; IF (d.month=2) & (d.day>28+ORD(is_leap(d.year))) THEN RETURN FALSE END; IF (d.hour>23) OR (d.minute>59) OR (d.second>59) THEN RETURN FALSE END; RETURN TRUE where is_leap(y) = RETURN (y MOD 4=0) & (y MOD 100#0) OR (y MOD 400=0); and CONST m30days = {4,6,9,11};
  2. The comments in TimeConv.def module say that all the functions return 0 if their input date/time is invalid (also Compare!) It seems to be your case. What exactly value signOnTime is set to? Have you checked that it is valid? Are you sure it has been really set on your particular execution path?
  3. > That may add a new value and attract some other people to use XDS in their developments. That's worth believing, but seems dobtful. Do we speak of units and dozens or about hundreds ands thousands of people? What is that part of the community that we hope to attract on our side? Modula-2 adherents that are using XDS already or still do not wish to use it? Or someone from C++/C#/Java world? > What do you think is any probability that XDS will go GPL in near future? It is more than possible, it is planned yet for this year. No promises and obligations so far, however.
  4. What you guys can surely do for free and right now is leaving your proposals here! (Indications if these are bugs (and according to what reasons) or just wishes are welcome, as well as discussions). In some time we'll look through the list and make our estimations what can be done and with what efforts. Then we can discuss the budget and if the sponsorship will be sufficient - well, why not?
  5. Vit

    Is this a known compiler bug?

    Unnatural and violating the incapsulation principle is that in an derived type we need to know all the private fields of the whole hierarchy ofl base types. From one hand, we cannot access these fields. From another hand, we cannot reuse their names. Thus if we wish to override cordinates names x and y in a base type, we need to introduce x1 and y1 in a derived type. The reason of "making exported" a formerly private field does not sound convincing: any change in an interface of a base type causes necessity to revise all derived types! What if I wish just to add a NEW field in a base type that is already used in some of its derivatives?? This is the problem of versioning better approached in COM...
  6. Not yet. We'll do it on request. Fixing a particular bug or feature may take not much time for itself. We spend more on testing and releasing. Vit
  7. Vit

    Is this a known compiler bug?

    I see. Then it is not a known bug.
  8. You're probably right that it is one of those noone-thought-about things. As for XDS O2, it was merely done following N.Wirth's book, not Oakwoods recommendations, hence the semantics you mentioned has not been checked probably. However, the case is checked, though at run time.
  9. Vit

    Toggle KEYWORDS case in IDE

    Doubtful... Consider: for := 10; For := 12; mindless thing to do, but real... Thus uppercasing all is not a solution. And bringing the compiler's parsing logic into IDE was not the task initially considered. Right now it will be too much work to do for free. Unless someone orders and pays for this.
  10. Yes, the exit code is defined as CARDINAL (that is, CARD32). I see no way to return a string value from an executed program or command line. If you need to intercept a program's output, you better redirect its output to some stream handled by your host program. Or you can pass string data via environment variables. If these does not solve the problem then please give more information on your particular problem.
  11. Vit

    Is this a known compiler bug?

    But how do you imagine referencing to two fields "n" in the same record type? (one inherited from the parent object and another one added)
  12. The BOOLEAN result of Execute and Command only report if the call is Ok (actually by checking the GetLastError). But what about the last VAR-parameter of Execute and Command which return the exit code? Isn't it what you need?
  13. Vit

    Toggle KEYWORDS case in IDE

    Suppose you decided to write: for := 10; (which is allowed) After uppercasing this will become FOR := 10; which is not allowed (FOR-loop title)