Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by Dennis07

  1. I cannot tell you how the DB stuff in SMS works in detail. I can only tell you how the stream classes work. If your problem is DB-related, I personally cannot help you. I will however redirect this to the team, they will surely tell you what to do! Sorry for this.
  2. It's even easier than that. At least for the streaming part, you can use ONE stream instance and cast it to TMemoryStream or TStringStream. TStringStream is a child class of TMemoryStream. Just access its String this way: var MyStream: TMemoryStream; //... (MyStream as TStringStream).DataString //... It's really simple!
  3. No, because the SMS compiler is 100% independent from the SCL stuff. However, the {$I...} directive is automatically added to the code if you create a form app through a wizard. And doing something like this reliably is something we cannot do, because the compiler/IDE/editor/... never knows if this file was meant to be part of this form class.
  4. Dennis07


    Because the initialization section is called only after the variables get initialized.
  5. Dennis07


    Initialization with 0 / '' / 0.0 / nil is implicite in Smart Pascal Why so complicated? function PostInc(var i: integer); begin Result := i; inc(i); end;
  6. We already have an alternative, it's called TInstance. However, we do not include it in our RTL because of performance issues. unit System.Persistent; interface { TInstance class for the SMS RTL ------------------------------------------------------------------------------ This is a (heavily) enhanced version of Delphi's TPersistent class. It does not only offer an assignment functionality, but also other stuff explained below: - Instances[Index] allows the access of a TInstance object at runtime. The amount of instances can be retrieved with the InstanceCount property. T
  7. Seen it (randomly as I needed to post an own issue few hours ago). The description, as I wrote, is not relevant for us, and (likely) won't be attended by SMS. The property overloading would however be cool to have also in SMS. I'll pay attention to this. Thanks!
  8. We are planning to add this to SPc in a while. However, we agreed on not adding this as a language feature but rather as meta information stored in so-called "Smart Doc" files. This will basically store a structural representation of the Smart Pascal source code with the ability to add custom descriptions and other kind of info to everything in the source code (not just properties or published elements). A prototype I've designed so far (we're however not sure whether this is gonna be the final format) is shown in the attached file. Again, this is not final and we're not sure how and
  9. Something like that is also possible in Smart Pascal (just like Delphi): TEntityMode = (em1, em2); TEntitySetting = class abstract protected property IsNull: Boolean; end; TEntitySetting1 = class(TEntitySetting) private FValue: String; method SetValue(const AValue: String); begin FValue := AValue; IsNull := FValue.Length = 0; end; published property Value: String read FValue write SetValue; end; TEntitySetting2 = class(TEntitySetting) private FValue: Integer; method SetValue(const AValue: Integer); begin FValue := AValue; IsNull := FValue = 0; end; pu
  10. The thing is, Delphi practically permitts property overloading (at least for indexed properties, but... Oficially, according to Emb, there is no evidence that this is a supported feature. Even Emb itself does not do it this way in their own libraries. It requires at least one index parameter. The parameter types must differ from property to property. Doing it will crash the debugger, at least this used to be the case in earlier D versions. Can't tell you atm of this is still the case. Smart Mobile Studio / DWS does not allow this at the moment, and even in Delphi
  11. Dennis07


    It had been promised in 2014 by Eric, so yea, we should I'd say. Maybe in SmartCL.System?
  12. The final steps are currently being done, the update will be pushed as soon as this has been finished. A matter of days as far as I can estimate.
  13. Okay, uploading profile banners with up to 500KB should work now for standard users as well. Let me know if there still exist problems.
  14. Dear Smart community! we are proud to announce that we finished updating the software of our forums, as you might have noticed. If you encounter bugs, please let us know about them so that we can take care of them as soon as possible. Stuff like clearing notifications, editing profile settings, setting profile pics should work now without problems. Wishing you all the best!
  15. Thank you, this might be a useful addition for the future!
  16. Okay, thank you. I will try to have a look at it!
  17. In the current ALPHA, you are also able to define custom "width"/"height" values for TApplication.ShowDialog calls. This had been requested by the community and was added to the RTL recently.
  18. Dennis07

    Trial License

    You're welcome! If there is anything else we can help you with, just let us know!
  19. Thank you Marcus, and please excuse my inactivity. I has in hollidays and returned just now. The problems with our payment system are exclusively related to renewing inactive subscriptions (as far as I am informed), and the case we're currently having an issue with is a very rare one. Normal customers should have no problem buying SMS, even now. There are reasons we're using a foreign payment system. And they are of different natures. One being that we started using it years ago and just haven't seen a valid reason to dismiss it until now. It works fine for 99.99% of the customers, and off
  20. This is the official way we recommend. And no, it did not work in previous versions, at least not in the predecessor of 2.9.9 ALPHA, as you can see on the attached screenshot. I am really sorry there has to be done this workaround, but that's just "how it is". If you don't want to declare an extra type for this, just use String in any context, it will behave 100% like Char because System.Types.Char is only an alias for System.String.
  21. Unfortunately, "Char" is not an intrinsic type in both JS and SmartPascal, equally to "Byte". This means you have to declare it manually as a "String" or use System.Types in your unit.
  22. Thank you for your feedback, but there must have been a typo in my late-night reply. What I wanted to say was: "weeks". I am really sorry for this. As for the points you mentioned: Could you please tell us which problems you have encountered with our payment system? The application demos are being fixed at the moment and will be fully-functional at the release version. Some still need to be adjusted or re-written, but we're on it. The docs are something we'll be addressing once the actual release is done. Unfortunately, there hasn't ever been a Mac version of SMS and there won't be o
  23. Do you mean the TStringStream? That's identical to Delphi's TStringStream, see the official Emb DocWiki for more info: http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Classes.TStringStream The only difference as of now is that this TStringStream is derived directly from TMemoryStream whereas Delphi's also implements the TByteStream class.
  24. PS: You can run SmartUpdate.exe in your SMS Alpha directory to get the latest Alpha update. This should contain this change, aside with other improvements and additions.
  • Create New...