<br><br><div class="gmail_quote">On Fri, Mar 14, 2008 at 6:53 PM, Luiz Americo Pereira Camara <<a href="mailto:luizmed@oi.com.br">luizmed@oi.com.br</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">drew einhorn wrote:<br>
> Hi,<br>
><br>
> I'm organizing a team attending Health Jam Seattle<br>
> April 18-20<br>
><br>
>     <a href="http://wiki.laptop.org/go/Health_Jam" target="_blank">http://wiki.laptop.org/go/Health_Jam</a><br>
><br>
> We will be porting the VA's VistA software frontends<br>
> to Lazarus/Free Pascal.  VistA is the IT infrastructure<br>
> that runs the VA's hospitals, nursing homes, and clinics.<br>
> It includes a complete Electronic Medical Record System.<br>
><br>
>     <a href="http://wiki.laptop.org/go/WorldVistA#VistA" target="_blank">http://wiki.laptop.org/go/WorldVistA#VistA</a><br>
><br>
> We are hoping some Lazarus/Free Pascal developers will join us.<br>
<br>
</div>I have some experience in porting Delphi components to LCL (See<br>
<a href="https://luipack.bountysource.com/" target="_blank">https://luipack.bountysource.com/</a>) and i would be happy in helping.<br>
See some notes below</blockquote><div class="Wj3C7c"><br>Cool!  Are you considering joining us in Seattle, or just helping out<br>online?   I'm expecting Seattle to be a lot of fun.<br> <br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Will the code be shared between Delphi and Lazarus or it will be a fork?<br>
In the former option the work is harder.<br>
<div class="Ih2E3d"></div></blockquote><div><br>I'm assuming it will all eventually get merged into the main Lazarus project.<br>I don't think any code will go into Delphi.<br>Hope there is no need for any fork.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
><br>
> We hope to have gotten past compilation issues by the<br>
> HealthJam, and be focusing on the necessary VCL<br>
> components missing from LCL.  But we may still<br>
> be fighting compilation issues.<br>
><br>
> Been resisting the urge trying to extract the VCL calls<br>
> from the code.  Been hoping to get through the compilations<br>
> and get the linker or somthing to give me a count.<br>
><br>
> Folks who are familiar with the CPRS code to a quick look at:<br>
><br>
>     <a href="http://wiki.freepascal.org/Lazarus_Components" target="_blank">http://wiki.freepascal.org/Lazarus_Components</a><br>
><br>
> And noticed TFrame and TRichEdit are missing.<br>
> There's almost certainly more.<br>
<br>
</div>TFrame is easy to be ported but you are in trouble with TRichEdit. I<br>
already researched for a TRichEdit control that does not relies in<br>
native win32 control and only found comercial<br>
(<a href="http://www.trichview.com/" target="_blank">http://www.trichview.com/</a>). There's a port from a old version (<br>
<a href="http://wiki.lazarus.freepascal.org/RichView" target="_blank">http://wiki.lazarus.freepascal.org/RichView</a>) but is read only. An<br>
alternative way is to find a suitable gtk2 control (i don't know any) an<br>
write a wrapper around it.<br>
<br>
Another issue is if gtk1 widgetset is suitable for such work. I don't<br>
know if XO supports gtk1. The gtk2 widgetset is not as good as gtk1.<br>
<div class="Ih2E3d"></div></blockquote><div><br>Glad to hear TFrame is easy.  <br><br>Don't care if it's really RichEdit underneath as long as we can come<br>up with something that provides the user with similar functions, and<br>
we can write wrappers that reproduce the TRichEdit API so we don't<br>have to tweak a lot of existing code.  Before I discovered how well<br>the Lazarus does with "Convert Delphi ...", I was considering a<br>
<a href="http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/">Coco/R</a> based approach for translating one Pascal dialect to another.<br>We may need to fall back to this if we have to translate from one<br>API to another.  (Or we may strip down the Lazarus parser and<br>
use it as the basis for a translator.<br><br>Will try a: yum install gtk1 on my XO and see what happens.<br>Hmm.  I have a vague recollection of trying something like that<br>before and having problems because the gtk packages had "funny"<br>
names not quite what you might guess.  Maybe, it was some<br>other package.  We'll see.<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
><br>
> I made a couple stabs at converting to Lazarus.<br>
><br>
> Most recent on a Ubuntu box using the testing repos<br>
><br>
>     lazarus 0.9.24 beta 5/11/07<br>
>     free pascal  2.2.0-1<br>
><br>
> Getting "safecall" errors at compile time.  I see stuff in the<br>
> bug tracker about "safecall" runtime issues not resolve till<br>
> 2.3.1<br>
><br>
> So next thing I need to do is find the right vintage of Lazarus/Free<br>
> Pascal.<br>
<br>
</div>Can you post a link to the code, so i can take a look?<br>
<font color="#888888"></font></blockquote><div><br> <font color="#888888">
Felipe Monteiro de Carvalho suggested<br><br></font>If you are going to Linux you probably don't need safecall anyway, and<br>
you can ifdef it out for FPC:<br>
<br>
{$ifndef fpc}safecall;{$endif}<br>
<font color="#888888"><br>I then asked if there was a good place to stuff this incantation so that it<br>applies to an entire project.<br></font></div></div><br>-- <br>Drew Einhorn