Lazarus IDE

Submitted by Jancis on Mon, 11/20/2006 - 11:30

Mēģinu izprast un savaldīt noderīgu rīku programmatūras iztrādei: Lazarus.

Lazarus ir izstrādes vide kas ļoti atgādina Delphi (tātad darbs ar pascal). Tajā var (mēģināt) importēt Delphi pakotnes. Pagaidām iznāk tikai beta versijas, taču izstrāde pie tā notiek ļoti aktīvi. Balstīts uz freepascal, kompilējas samērā ilgi, taču tas ir pilnībā bez maksas.

Tagad nonākam pie programmas lielākā bonusa: produktu ko tajā veido var viegli portēt gan uz Linux, gan Windows gan Mac, gan uz citām OS. Jau mājas lapā ir teikts "Write once compile everywhere!".

--

Vēl pievienošu mazus labojumus:

Kad instalēju sockets komponentu, parādās kļūda: "Can't find unit LResources". To var atrisināt pakotnes iespējās pievienojot adresi uz attiecīgo unitu: "/usr/share/lazarus/lcl/units/i386-linux", taču vēlāk, pārkompilējot IDE, tik un tā parādās šī kļūda. To var atrisināt pielabojot "/etc/fcp.cfg", search path sadaļā pievienojot "-Fu/usr/share/lazarus/lcl/units/i386-linux".

Otra problēma ir "SocketClient.pas Error: Illegal qualifier ", tur ir jānomaina 265. rindiņa uz "tmp:=intToStr(tmp1.s_bytes[1])+'.'+intToStr(tmp1.s_bytes[2])+'.'+intToStr(tmp1.s_bytes[3])+'.'+intToStr(tmp1.s_bytes[4]); ", tiesa tas jau bija aprakstīts sourceforge.net forumā

Vēl, sakarā ar jaunpievienoto komponentu var rasties problēma "Threading has been used before cthreads was initialized.", ko iespējams labot pēc wiki aprakstītajiem risinājumiem

Šo problēmu risinājumus bija diezgan grūti atrast, tādēļ iztulkošu angliski, gadījumā ja kāds iemaldās no google`s

--

When installing component "sockets_laz" (wiki, download), it can show error "Can't find unit LResources". This error can be fixed adding search path in component options, but later, due rebuilding IDE, it shows up again. This can be permanentally solved by adding "-Fu/usr/share/lazarus/lcl/units/i386-linux" (path may vary according to your configuration) to search path section in "/etc/fcp.cfg".

Another error is "SocketClient.pas Error: Illegal qualifier" when compiling SocketClient.pas. You just need to replace line 265 with "tmp:=intToStr(tmp1.s_bytes[1])+'.'+intToStr(tmp1.s_bytes[2])+'.'+intT oStr(tmp1.s_bytes[3])+'.'+intToStr(tmp1.s_bytes[4]);" and it compiles ;) (last one also descrived in sourceforge.net`s forums)

One more thing related with installing this component: "Threading has been used before cthreads was initialized.", which can be solved be reading whis wiki page

--

UPD: Forši (forši, forši, forši, forši, forši) - dabūju caur soketiem tekstu Unicode formatējumā. Tas nozīmē ka esmu atradis izstrādes vidi bakalaura darbam un DMP! :) (jau sāku krāmēt uz C++ bet tas nesniedza visas tās iespējas ko dod Lazarus)