<div dir="ltr">On Mon, Nov 3, 2014 at 11:00 AM, Dmitry Boyarintsev <span dir="ltr"><<a href="mailto:skalogryz.lists@gmail.com" target="_blank">skalogryz.lists@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><br></span></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Just don't bother yourself with "cocoa api" don't go too specific.</div></div></div></div></blockquote><div><br></div><div>I don't, hence this thread. :) If want to use a TObject, I want the exact same properties, exact same behavior, exact same declaration of TObject on everywhere else. At least, 90% of them, with 10% is special particularly to where TObject platform is defined. I don't care if beneath it acts as NSObject on OSX, or WinObject on Windows, or QTObject on QT, or whatever.</div><div> </div><div><br></div><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 3, 2014 at 1:45 PM, Sven Barth <span dir="ltr"><<a href="mailto:pascaldragon@googlemail.com" target="_blank">pascaldragon@googlemail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
That's because FireMonkey abstracts all those APIs for you. The LCL by Lazarus has the same target: no matter whether you are on Win32/64, GTK, Qt, Carbon, Cocoa, whatever you get the same set of APIs (the API provided by the LCL) and you don't (normally; bugs not withstanding) need to care about platform differences.<br></blockquote><div><br></div><div>FireMonkey isn't native UI. It's custom drawn UI controls (based on OpenGL?). That's why I left Delphi. I don't like non-native UI, except for games.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Even if you'd directly access Cocoa using Object Pascal means you would not be compatible with Object Pascal codes on other platforms. The same is true for Delphi by the way. They interface with Cocoa code using COM interfaces which are not used on the Windows platform (for this purpose). Two different API sets!<br></blockquote><div><br></div><div>Why would that be? A pascal TStringList can be a NSStringArray on Cocoa, or regular list of strings on Windows. I don't care as long as my pascal TStringList behaves consistently on any platforms. What I do care is if I can use TStringList on Windows, but I'm forced to use NSStringList on OSX for the same purpose and function. I don't want that. That's why I don't like objective-pascal dialect. *btw, the class names are just pseudo class, you should get the point* :)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Also using Objective Pascal does in no way mean that you can not use Object Pascal. You can mix them as you want and you can use Objective Pascal classes in Object Pascal code and vice versa (otherwise this feature would be rather useless).<br></blockquote><div><br></div><div>Oh, really? I didn't know that. So, I could use objective-pascal mode on Windows too? Including its protocol and messaging mechanism?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">So please use Objective Pascal. It will save you from quite some trouble to implement the APIs manually (afterall there is a reason why we implemented Objective Pascal).<br></blockquote><div><br></div><div>Of course there is a reason for objective pascal existence. But should I use it? I don't know. Unless you can give me guarantee that objective-pascal dialect can be used on Windows and Linux as well. But if it does, why do we bother to have objective pascal at the first place? :D</div><div><br></div><div>FYI, just as food for thought... I'm now considering to use RemObject's Oxygene (another pascal variant) as it behaves almost like the way I want. I could use the same consistent syntax on any platforms. Although I have to know special cases where API on particular OS is very much different from other OSes. But it's pretty rare cases. If you want to know the concept of the language, please refer to this site: <a href="http://www.elementswiki.com/en/Oxygene_Language">http://www.elementswiki.com/en/Oxygene_Language</a></div><div><br></div><div>But honestly, I'd love to use FreePascal. :)</div><div><br></div><div>Regards,</div><div><br></div></div>-- <br><div class="gmail_signature">-Bee-<br><br></div>
</div></div>