<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>Pierre Paré wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">If not the appropriate list for this question, would you redirect the request</div></span></blockquote><div><br></div><div>-- Also, check out the MacPascal List, the Lazarus list and the FPC/Lazarus Wiki PAges</div><br><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 18px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I installed FPC with XCode on an iMac OS X 10.5</div>I am not a developer  , I want to get back at programming for fun.<br></span></blockquote><div><br></div>-- To start out, I would recommend Ingemar's LW IDE for the Mac.  It performs/hides a lot of the complexity of X-code so it is easy to create quick programs - but it also allows you to write large programs as well.   I have had very good experience with it and have not had to migrate to X-code.   The other option is to try out Lazarus and its IDE.   This is a bit more involved but has more support for dealing with the FPC and Lazarus class libraries.   Also, there is a relatively new mac IDE out called Pascal Gladiator.  I have not looked at either much.   Here is a link for LW IDE: </div><div><br></div><div><a href="http://www.ragnemalm.se/lightweight/">http://www.ragnemalm.se/lightweight/</a></div><div><br></div><div>and the FPC's main wiki page:</div><div><br></div><div><a href="http://www.freepascal.org/">http://www.freepascal.org/</a></div><div><br></div><div><br></div><div><br><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); ">I know Pascal well enough but have no prior knowledge on the "Mac Dialect"<br>I never used Delphi nor TurboPascal per se.<br><br>I would like more complete syntax and implementation infos on the "Mac Dialect" in FPC</span></blockquote><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><br>What is "Object Pascal, Mac style" in FPC :<br><span class="Apple-tab-span" style="white-space: pre; ">     </span>which object model : like FPC object and record type or like reference FPC class type ,<br><span class="Apple-tab-span" style="white-space: pre; ">        </span>which class and methods modifiers can or must or must not be used (abstract, class or static, interfaces),<br><span class="Apple-tab-span" style="white-space: pre; ">     </span>which units may, must or must not be used<br><span class="Apple-tab-span" style="white-space: pre; ">      </span><span class="Apple-tab-span" style="white-space: pre; "> </span>for base object TObject : from Object or System unit<br><span class="Apple-tab-span" style="white-space: pre; ">   </span><span class="Apple-tab-span" style="white-space: pre; "> </span>for framework : TCollection , TStringList from Object or Class unit<br></span></blockquote><div><br></div>-- There are two Object Oriented (OO) dialects in FPC.  They are what I call the Object dialect and the Class dialect.   The former is compatible with an older Turbo Pascal implementation while the latter is based upon Delphi's implementation.  It seems that the Class/Delphi dialect is used more.   I used to know a little about the apple/mac Object Pascal dialects and the FPC dialects don't exactly match.   I have written a wiki tutorial on the FPC Object dialect and was taking a break before starting a tutorial on the FPC Class dialect.   The Class dialect tutorial will use the existing tutorial as a starting point so it wouldn't hurt you to look at the existing tutorial first.   There are several differences but the main change is that the Class dialect does not allow you to create static object variables - they must be dynamically created - but they don't use the ^ symbol - which can be confusing at first.  Here is a link to the object dialect tutorial.</div><div><br></div><div><a href="http://wiki.freepascal.org/Programming_with_Objects_and_Classes">http://wiki.freepascal.org/Programming_with_Objects_and_Classes</a></div><div><br></div><div>You will probably want to read the FPC documentation along with this.   The object dialects are described in chapters 5 and 6 of the FPC Language Reference Guide.   I would suggest at least skimming over the other chapters as well since FPC has included some features/changes to Pascal which you may not be aware of coming from the older Apple dialects.   Here is link to the Lang Ref Guide and RTL guide (and other docs) which include information on the class libraries and the FPC standard system library which is very handy.   For example, if you do any standard file I/O, the RTL doc is very handy since those routines are different from the versions I was used to on THINK Pascal for the Mac.</div><div><br></div><div><a href="http://www.freepascal.org/docs.var">http://www.freepascal.org/docs.var</a></div><div><br></div><div>And just recently, I found a publicly available link to a chapter from a published book currently available on the web which covers the Delphi object model.   It's not exactly a tutorial but it is a nice synopsis to have available to make sense of the FPC reference guide.</div><div><br></div><div>Once you read over those, many of your above questions will probably be answered :)</div><div><br></div><div>Chapter 2 complete</div><div><br></div><div><a href="http://oreilly.com/catalog/delphi/chapter/ch02.html">http://oreilly.com/catalog/delphi/chapter/ch02.html</a></div><div><br></div><div>Entire Book Preview, 95% complete</div><div><br></div><div><a href="http://oreilly.com/catalog/9781565926592/preview.html">http://oreilly.com/catalog/9781565926592/preview.html</a></div><div><br></div><div><br></div><div><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><br>Do I need MacMode or will any other mode do ? Can interfaces, generics be used ?<br></span></blockquote><div><br></div><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); ">Joost wrote:<br><font class="Apple-style-span" color="#006312"><br></font>Then don't use it. The compiler-modes are there to make it easier for<br>people to switch from the dialect they are used to. So only when you are<br>used to use 'mac-pascal' you could decide to use the macpas-mode.<br></span></blockquote><div><br></div>--  I agree, I started out using macpas mode to port some old stuff over and now I am regretting using it for new things.  The main problem for new projects is that macpas mode is not compatible with objfpc mode which you need for classes.   You can use the two modes individually in separate units but that can get aggravating.   The other mode you will come across is delphi mode which can be used instead of objfpc mode for Classes but since I personally am not interested in being compatible with Delphi, I use objfpc mode.  I'm not sure if Lazarus requires delphi mode or if objfpc mod is ok.</div><div><br></div><div><br><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); ">Which object model will I need with Carbon librairies. It seems that accesing Cocoa is more difficult.<br></span></blockquote><div><br></div>--  I started out in FPC doing some carbon programming.   The one thing to be aware of is that Apple has given plenty of strong hints that Carbon will become obsolete in so many words.   It has to do with 64 bit compatibility which carbon is not being updated for.   It is likely, Carbon will be supported for awhile but Cocoa is now Apple's (really only) emphasis now.   This presents a problem since there is no fully implemented "cocoa" mode or unit for FPC yet.   There are various cocoa conversion efforts currently going on within FPC but an official production release is a ways off.   Others might be able to comment more intelligently on this subject though.   I would suggest learning the FPC object dialects and by the time you are comfortable with them, FPC cocoa support may be closer to completion.  That is what I am currently doing.  You can also study Objective C and Cocoa from Apple's documentation if you are adventurous.   :)</div><div><br></div><div>If you want to get up to speed on Carbon programming in FPC, I have some very detailed tutorial/demo programs available from Pascal Central or on my own Pascal References page.</div><div><br></div><div>These are strictly carbon and do not include any object or class objects.   It also requires macpas mode and the MacOSAll.p unit.  I'm wondering if I can convert these simple demos so they don't depend on macpas mode but haven't had time to explore that much yet.</div><div><br></div><div><a href="http://web.me.com/roward/A_Musing_Rumination/Pascal.html">http://web.me.com/roward/A_Musing_Rumination/Pascal.html</a></div><div><br></div><div><div>Ingemar's LW IDE includes many demo programs and utility units for mac user interface as well - mostly carbon and many graphics programs, including a carbon shell program called "Skel."</div><blockquote type="cite"><span class="Apple-style-span" style="color: rgb(0, 0, 0); "><br>I am having a hard time finding (old) MPW, Think or CodeWarrior Pascal references manuals for the Pascal on Macintosh.<br>Pascal Central has some on general standards references and code banks but I didn't find technical language references specific to the Mac. I would appreciate some links.<br><br><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span style="font-family: Helvetica; font-size: medium; color: rgba(0, 0, 0, 0.496094); "><b></b></span></div></span></blockquote></div>In addition to the links and references I mentioned above, here is a direct link to the fpc wiki mac pascal page.  <div><br></div><div><a href="http://www.freepascal.org/fpcmac.var">http://www.freepascal.org/fpcmac.var</a></div><div><br></div><div>and lazarus</div><div><br></div><div><a href="http://wiki.lazarus.freepascal.org/Main_Page">http://wiki.lazarus.freepascal.org/Main_Page</a></div><div><br></div><div>hope that gets you going. Have fun :) </div><div><br></div><div> - ROW</div></body></html>