Lazarus 2.2.0 RC1 (2021.02.21.)
Letöltés

  • Oldal:
  • 1
  • 2
  • 3

TÉMA:

Egy kezdő Lazarus használó kérdései 2021 okt. 25 13:49 #2557

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
Úgy tűnik, végül sikerült megoldanom; legalábbis a Delete-tel való törlés során nem jelentkezik semmilyen hiba. Bár azt nem értem, hogy a Free miért nem volt jó neki és miért pont 4 vagy több elem megléte esetén akadékoskodott. 
Tehát a jó kódsor:
delete(epuletek,e,1);
           //epuletek[e].Free;
           //setlength(epuletek,epuletdb-1);
 epuletdb:=epuletdb-1;
 break;

Egy kezdő Lazarus használó kérdései 2021 okt. 24 14:59 #2556

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
Ismét egy nagy gond, amivel csak düllesztem a szemem, de a forrását nem találom: ha 4 vagy több darab épületem van és azokból próbálok lerombolni egyet az RTS játékomban, akkor SIGSEGV osztályú kivételt kapok egy rakás Assembly sorral. De 3 vagy kevesebbnél minden rendben. Gőzöm sincs, mi okozhatja ezt, de ha valaki netán felfedezné belőle, itt az épületrombolás kódja a munkásegységben:
for i:=0 to puffancsdb-1 do
  begin
   case puffancs.mitcsinal of
   'lebont': begin
      for e:=0 to epuletdb-1 do
      begin
       if (epuletek[e].xhely=puffancs.celx) and (epuletek[e].yhely=puffancs.cely) then
       begin
          if epuletek[e].epsege>0 then
          begin
             epuletek[e].epsege:=epuletek[e].epsege-1;
             Canvas.Pen.Color:=clRed;
             Canvas.Pen.Width:=2;
             Canvas.MoveTo(puffancs.xhely,puffancs.yhely);
             Canvas.LineTo(puffancs.celx,puffancs.cely);
          end
          else
          begin
           for p:=0 to puffancsdb-1 do
           begin
            if (puffancs[p].celx=epuletek[e].xhely) and (puffancs[p].cely=epuletek[e].yhely) then puffancs[p].mitcsinal:='semmit';
           end;
           epuletek[e].Free;
           setlength(epuletek,epuletdb-1);
           epuletdb:=epuletdb-1;
           break;
          end;
       end;
      end;        

Egy kezdő Lazarus használó kérdései 2021 okt. 06 14:10 #2555

  • progmokus
  • progmokus profilkép
  • Haladó forumozó
  • Haladó forumozó
  • "Amit egyszer leírok..., azt lehet később átírom"
  • Hozzászólások: 51
  • Köszönetek: 5
Infó!
Az alapértelmezett Lazarus menüjében nincs benne, de telepíthető a MessageComposer nevü cucc, ami jobb mint a Prekox mester által írt cucc (remélem nem üt agyon , azért köszönet érte a közösség nevében is).
Telepités: menüpont : Csomag\Csomag telepitése/eltávolitása..., jobb oldalt a telepithető csomagok közül válasszuk a "messageComposerpkg 0.0"-t, katt a "Kijelöltek telepitése" gombra, aztán katt a "Mentés és IDE újraépítése" gombra.
Újrafordítás után a "Forráskód\Üzenetszerkesztő..." menüpont alatt érhető el.

Én sem tudtam, hogy ilyen is van, viszont a CodeTyphon cuccban alapból bele van fordítva.
Windows 10, VirtualBox(Ubuntu Mate 21.04)
Lazarus 2.0.12
CodeTyphon 7.5

Egy kezdő Lazarus használó kérdései 2021 okt. 06 07:30 #2554

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
Igazad van, a párbeszédablak megoldás a problémára! Utánanéztem most ezeknek itt:  wiki.lazarus.freepascal.org/Dialog_Examples
De akkor már a MessageDlg helyett a MessageBox-ot használom. Azt viszont furcsállom, hogy az első paraméterének mindenképp be kellett írnom egy szöveget, mert így:
 
var panelszoveg: array [0..1] of string;
   panelszoveg[0]:='Biztosan ki akarsz lépni?';
  panelszoveg[1]:='Are you sure you want to exit?';
 valasz:=Application.MessageBox(panelszoveg[nyelv], 'Megerősítés', stilus);
hibát okozott. De a lényeg, hogy egyébként működik és köszönet az ötletért! Ezt kerestem volna, csak nem jutott eszembe, így kénytelen voltam összeeszkábálni egy saját párbeszédablakot egy panelből és két gombból. 

Egy kezdő Lazarus használó kérdései 2021 okt. 05 16:55 #2553

  • progmokus
  • progmokus profilkép
  • Haladó forumozó
  • Haladó forumozó
  • "Amit egyszer leírok..., azt lehet később átírom"
  • Hozzászólások: 51
  • Köszönetek: 5
Nem tudom, nem szoktam játékokat írni, de nem lenne egyszerübb pl. a kilépés gombra kattintáskor
if (MessageDlg('Biztosan kilépsz?',mtConfirmation,mbOkCancel,0)= mrOK) then
    close;


Így nem kell létrehozogatni meg felszabadítgatni a gombokat.

A letöltőközpontban van egy Üzenetbox szerkesztő cucc Prekox jóvoltából, persze ez csak windows alatt jó....

Vagy egy külön saját dialógusablakot is lehet csinálni, aminek a háttere és gombjai illeszkednek a játékhoz, és egy föggvénnyel le lehet kérdezni melyik gombot nyomták meg (pl.: Ok_gomb = 1, Cancel_gomb = 0 stb.).
És a saját dialógust jeleníted meg futásidőben...
Windows 10, VirtualBox(Ubuntu Mate 21.04)
Lazarus 2.0.12
CodeTyphon 7.5
Megköszönték: Tomi

Egy kezdő Lazarus használó kérdései 2021 okt. 05 13:11 #2552

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80

"A gomb(ok) OnKeyDown eseménykezelőjének állítsd be az ablak OnKeyDown eseménykezelőét."
Ezt nem nagyon értem...

A gomb(ok) kiválasztása után a tulajdonságok között a gomb(ok) OnKeyDown-jánál válaszd a FormKeyDown eljárást (amiben a billentyűket kezeled), tehát ne hozz létre nekik saját eseménykezelőt billentyűlenyomáshoz.
Ha esetleg nem tervezéskor, hanem futás közben akarod megtenni akkor pl.: Button1.OnKeyDown := @FormKeyDown
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64
Megköszönték: Tomi

Egy kezdő Lazarus használó kérdései 2021 okt. 05 13:02 #2551

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
A parent tulajdonságot beállítottam minden gombnál, de mégsem jó valamiért...
Tehát az az elgondolás a programomban, hogy a felhasználó rákattinthat a kilépés gombra, és arra megjelenik egy megerősítő szöveg (egy panelon a szöveg és az Igen-Nem gombpáros) és ha az Igen-re kattint, akkor kilép a programból, míg ha a Nem-re, akkor meg kellene semmisülnie a panelnek és a két gombnak:
procedure TForm1.kilepgombkatt(Sender: TObject);
var panelszoveg, igenszoveg, nemszoveg: array [0..1] of string;
begin
 panelszoveg[0]:='Biztosan ki akarsz lépni?';
 panelszoveg[1]:='Are you sure you want to exit?';
 felirathatter:=TPanel.Create(self);
 With felirathatter do
 begin
      Left:=round(Form1.width/2-TextWidth(panelszoveg[nyelv])/2);
      top:=round(Form1.height/2);
      Caption:=panelszoveg[nyelv];
      parent:=Form1;
 end;
 igenszoveg[0]:='Igen';
 igenszoveg[1]:='Yes';
 igengomb:=TButton.Create(self);
 With igengomb do
 begin
      Left:=felirathatter.left+1;
      top:=felirathatter.top+TextHeight('I')+41;
      Caption:=igenszoveg[nyelv];
      parent:=Form1;
      Onclick:=@kilepigenkatt;
 end;
 nemszoveg[0]:='Nem';
 nemszoveg[1]:='No';
 nemgomb:=TButton.Create(self);
 With nemgomb do
 begin
      Left:=igengomb.left+igengomb.width+4;
      top:=felirathatter.top+TextHeight('I')+41;
      Caption:=nemszoveg[nyelv];
      parent:=Form1;
      Onclick:=@kilepnemkatt;
 end;
 felirathatter.width:=igengomb.width+nemgomb.width+10;
 felirathatter.height:=igengomb.height+TextHeight('I')+10;
end;

procedure TForm1.kilepigenkatt(Sender: TObject);
begin
 close;
end;

procedure TForm1.kilepnemkatt(Sender: TObject);
begin
 igengomb.Free;
 felirathatter.Free;
 nemgomb.Free;
end; 

Egy kezdő Lazarus használó kérdései 2021 okt. 05 12:49 #2550

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
"A gomb(ok) OnKeyDown eseménykezelőjének állítsd be az ablak OnKeyDown eseménykezelőét."

Ezt nem nagyon értem... Most minden esemény a TForm1-ből származik a programomban. Tehát létrehozom a kilépésgombot:
procedure TForm1.FormCreate(Sender: TObject);
(...)
kilepgomb:=TButton.Create(self);
With kilepgomb do
begin
 Left:=1;
 top:=Form1.height-127;
 Caption:='Esc: X';
 parent:=self;
 Onclick:=@kilepgombkatt;
end;

Ez pedig a képernyőgörgetést és kilépést végző alprogram:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState   );
begin
 if Key=VK_RIGHT then
 begin
  if palyakepx+palyakep.canvas.width+4>width then
  begin
   dec(palyakepx,4);
  end;
 end;
 if Key=VK_LEFT then
 begin
  if palyakepx<0 then
  begin
   inc(palyakepx,4);
  end;
 end;
 if Key=VK_UP then
 begin
  if palyakepy+palyakep.canvas.height+4>height then
  begin
   dec(palyakepy,4);
  end;
 end;
 if Key=VK_DOWN then
 begin
  if palyakepy<0 then
  begin
   inc(palyakepy,4);
  end;
 end;
if Key=VK_ESCAPE then close;
end;

Egy kezdő Lazarus használó kérdései 2021 okt. 05 06:37 #2549

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
 

Van-e és ha igen, mi az az utasítás, amivel a Form-ot teljes képernyőssé tehetem?
...
A grafikát egyszerűen a Form-ra történő rajzolással csinálom;

Az ablak BorderStyle tulajdonságát állítsd "bsNone" értékre, a WindowState pedig "wsFullScreen" legyen (illetve bsSizeable és wsNormal ha újra normál ablakot szeretnél látni).

...meg az a hiba(?) is felbukkant, hogy ha létrehozok egy gombot a FormCreate-ben: kilepgomb:=TButton.Create(self);
...
akkor ezután valamiért a FormKeyDown blokkolódik, nem reagál a billentyűnyomásokra, ami eléggé kellemetlen nekem, mert így a nyíl gombokkal nem tudom görgetni a képernyőt.
Akkor most választanom kell, hogy vagy billentyűkezelés vagy létrehozott gomb?

A gomb(ok) OnKeyDown eseménykezelőjének állítsd be az ablak OnKeyDown eseménykezelőét.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2021 okt. 04 17:04 #2548

  • progmokus
  • progmokus profilkép
  • Haladó forumozó
  • Haladó forumozó
  • "Amit egyszer leírok..., azt lehet később átírom"
  • Hozzászólások: 51
  • Köszönetek: 5
Form bezárására elég a Close eljárás hívása, ha az a főform, akkor kilép a program.
Viszont amit az OnCreate eseményben hozol létre objektumokat (amik valószínüleg a program futása alatt végig szükségesek), azokat az OnDestroy-ban kell felszabadítani (ha hamarabb felszabadítod, akkor ne hivatkozz tovább rá, vagy újra létre kell hozni). Amit tervezési időben pakolsz a formra, azt a form hozza létre és az szabadítja fel.
Ja, a parent tulajdonságot be kell állítani: 
....
KilepGomb:= TButton.Create(self);
KilepGomb.Parent:= Form1;

....
procedure TForm1.FormDestroy(Sender: TObject);
begin
  KilepGomb.FreeOnRelease;
end;
   
Windows 10, VirtualBox(Ubuntu Mate 21.04)
Lazarus 2.0.12
CodeTyphon 7.5

Egy kezdő Lazarus használó kérdései 2021 okt. 04 09:02 #2547

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
...meg az a hiba(?) is felbukkant, hogy ha létrehozok egy gombot a FormCreate-ben:
kilepgomb:=TButton.Create(self);
...
akkor ezután valamiért a FormKeyDown blokkolódik, nem reagál a billentyűnyomásokra, ami eléggé kellemetlen nekem, mert így a nyíl gombokkal nem tudom görgetni a képernyőt.
Akkor most választanom kell, hogy vagy billentyűkezelés vagy létrehozott gomb?

Egy kezdő Lazarus használó kérdései 2021 okt. 04 07:48 #2546

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
1. A grafikát egyszerűen a Form-ra történő rajzolással csinálom; semmi különös OpenGL vagy DirectX nincs benne.
2. Akkor az Application.Terminate-et jobb használnom mint a Close-t? Meg most csináltam egy külön kilépés gombot is, de amikor rákattintok a kilépés visszavonására, akkor SIGSEGV osztályú kivételt kapok, mikor a gombokat megsemmisíti:
procedure TForm1.kilepnemkatt(Sender: TObject);
begin
 igengomb.Free;
 felirathatter.Free;
 nemgomb.Free; //Lehet, hogy önmaga megsemmisítése gondot okoz?
end;

Egy kezdő Lazarus használó kérdései 2021 okt. 04 02:33 #2545

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
1. A "teljes képernyőssé tétel" mikéntje attól függ, hogy  a grafikát hogyan/mivel (egyszerü rajzolás a formra, opengl, directx stb.) csinálod.
2. Az Application.Terminate hívása után az alkalmazás felszabadítja a futás közben lefoglalt összes memóriát majd befejezi a futását. Alapesetben nincs szükség az objektumok egyesével történő megsemmisítésére, persze az egyedi (spciális) erőforrások vagy eszközök használatát ajánlatos szabályosan befejezni.
 
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2021 okt. 02 13:15 #2544

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
Sziasztok!
Egy RTS játékot fejlesztek Lazarusszal. Már jónéhány lényeges dolgot sikerült megoldanom benne, mint pl. a kép görgetése, a szereplők mozgatása, stb., ám a következő kérdéseim miatt talán mégis butácskának fogok tűnni:
1. van-e és ha igen, mi az az utasítás, amivel a Form-ot teljes képernyőssé tehetem? Tehát hogy csak a programom látszódjon, az operációs rendszer (Windows) tálcája és a játék címsora pedig ne?
2. ha ez az előbbi megoldható, akkor ugyebár az ablak Bezárás ikonja sem látszódik. Erre már beépítettem az ESC lenyomásához a Close utasítást. A játékban viszont van külön OnDestroy esemény is, amelyben törlöm a grafikus alkotóelemeket. A kérdésem, hogy ez a Close le is futtatja ezt az OnDestroy-t, vagy elé is be kell külön raknom a grafikus alkotóelemek törlését? Vagy az Application.Terminate a megfelelő kilépő utasítás? Melyik az, amely a legmegfelelőbb a program bezárására?
Köszönöm előre is a segítséget!

Egy kezdő Lazarus használó kérdései 2016 febr. 23 08:56 #1865

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Már megoldottam.


Sziasztok.

Egy kis segítségre lenne szükségem.

Az alábbi hiba üzenet jelenik meg : external sigsegv amikor lefordítom vagy ha futtatom az exe-t.

Van egy Form1 -em ami indításkor elvan rejtve és a formcreate eseményénél van egy form2.visible := true;

Tudnátok egy kis segítséget adni hogy hogyan kellene meg valósítanom hogy ne kapjak hiba üzenetet.

Egy kezdő Lazarus használó kérdései 2016 febr. 19 14:58 #1852

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Köszönöm a segítséget megoldottam.
procedure TForm1.Button1Click(Sender: TObject);
var
   Http: TFPHTTPClient;
begin
  Http := TFPHTTPClient.Create(nil);
 
  try
     Memo1.Text:= Http.Get('http://webcim.hu/teszt.txt');
  finally
    Http.Free;
  end;
 
end;

Egy kezdő Lazarus használó kérdései 2016 febr. 19 14:42 #1851

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0

Csak úgy megjegyzés: egy weblap az nem egy fájl...


Nem weblapot hanem a szerveren elhelyezett szöveges fájt szeretném letölteni.

Egy kezdő Lazarus használó kérdései 2016 febr. 19 14:34 #1850

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
A TFPHttpClient.Get() a megcélzott fájl tartalmát adja vissza (karakterláncként), ami az előbbi példakódban az S változóba kerül, amint azt te is láthatod. Az így kapott karakterlánccal azt teszel amit csak akarsz, az S helyett akár egy TMemo.Text-ben is elhelyezheted.
A kapott karakterlánc azonnali fájlba írásához a .Get() metódus egy másik változatát használd:
C.Get(ParamStr(1), 'HelyiFajlNeve');

Egy fájlt szeretnék letölteni egy webszerverről

Csak úgy megjegyzés: egy weblap az nem egy fájl...
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2016 febr. 19 14:03 #1849

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Nem feltétlenül szükséges a komponens ha van alapból akkor nekem az is jó.
Esetleg ehhez a kód hoz ha tudnál nekem még egy kis segítség adni azt meg köszönném.
Hogy hogy tudnám ezt a kódot grafikus módból használni és nem parancssorból.

És nem láttam a kódban hogy hol lehet meg adni a mentési nevet és útvonalat.

Egy kezdő Lazarus használó kérdései 2016 febr. 19 13:45 #1848

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
Amennyiben mindenképpen komponensek használatával szeretnéd megvalósítani a dolgot: Indy, LNet, Synapse, de az FPC tartalmaz a HTTP protokolhoz (is) unito=kat, például: fphttpclient , fphttpserver, httpdefs
A következő egy minimalista példaprogram (hibakezelés nélkül), melyet fordítás után a parancssorból futtathatsz:
{$MODE OBJFPC}{$H+}
uses fphttpclient,sysutils;
var
	C:TFPHttpClient;
	S:string;
begin
	C:=TFPHttpClient.Create(Nil);
	WriteLn('Webcím: ',ParamStr(1));
	C.AddHeader('User-Agent','Mozilla/5.0 (compatible; fpweb)');
	S:=C.Get(ParamStr(1));
	for I:=0 to C.ResponseHeaders.Count-1 do Writeln(C.ResponseHeaders[I]);
	if S<>'' then Writeln(S);
	C.Free;
end.
Paraméterként a megcélzott webcímet kell megadni.
Érdemes lehet alaposabban körülnézni a wiki Networking kategóriájában.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2016 febr. 19 10:22 #1847

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Sziasztok

Egy kis segítségre lenne szükségem.

Egy fájlt szeretnék letölteni egy webszerverről és nem igazán találtam hogy hogyan kellene megvalósítani.
Esetleg van valami komponens a lazarus -ban?
És ha esetleg tudnátok nekem valami minta kódot adni azt megköszönném.

Egy kezdő Lazarus használó kérdései 2016 jan. 06 11:42 #1752

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Köszönöm a segítséget de valamiért nem megy de még próbálkozom.

Egy kezdő Lazarus használó kérdései 2016 jan. 06 10:39 #1751

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
Ha volt a Lazarus telepítése előtt FPC telepítve a gépedre és az a PATH környezeti változóban szereplő könyvtárak egyikében található akkor az (is) okozhat gondot. Ha nem akkor telepítsd újra a Lazarus-t.
Korábban kijavítottam a telepítés mikéntjére vonatkozó tanácsomat (ahogy látom valószínűleg egyszerre gépeltünk akkor), de email-ben csak az eredetit kaptad meg. (Lásd lentebb) A javított változat alapján telepítsd a Lazarus-t.
:( Sorry...

Ha gondolod újratelepítés előtt a Lazarus beállítási fájljait is törölheted a "c:/users/felhasználó/Local Settings/Application Data/lazarus/" könyvtárból (vagy valami hasonló, nincs előttem win), hogy biztosan kiszűrd a hibákat.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64
Megköszönték: mikiR2

Egy kezdő Lazarus használó kérdései 2016 jan. 06 10:05 #1750

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Beállítottam a leírás alapján.


és amikor az OK -ra kattintok az alábbi üzenet jelenik meg.


Az OK -ra kattintottan.

És amikor leszeretném fordítottan az alábbi hiba üzenetet kapom.

Mellékletek:

Egy kezdő Lazarus használó kérdései 2016 jan. 06 09:34 #1749

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
A menüből indulva: "Projekt / Projekt beállításai" aztán a megjelenő ablakban: "Fordító beállításai / Beállítás és cél / Cél platform / Cél OS" és kiválasztod a win32-t.
Ez a beállítás projektfüggő, tehát minden olyan projektnél el kell végezni, amelyiknek a célja eltér az FPC/Lazarus aktuális futási környezetétől...

Az itt található legördülő listák minden elképzelhető, de a gépeden (követelmények hiányában) nem feltétlenül sikeresen megcélozható lehetőséget tartalmaznak.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2016 jan. 06 09:14 #1748

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
3.0.0 sorozatú FPC-t használók az is instabil?

Feltelepíttetem a 32 bitest majd a 64 bitest de hol tudnám kiválasztani hogy melyikre forduljon?

Egy kezdő Lazarus használó kérdései 2016 jan. 06 08:54 #1747

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
Szükség van a cél-rendszernek megfelelő unit-okra is a keresztfordításhoz (ez esetedben a win32 RTL, FCL, LCL összetevőket jelenti, más rendszerek esetén még sok más dolgot is).
Legegyszerűbb ha először a 32-bites Lazarus-t telepíted és csak az után a 64-bitest.
A telepítő mellett ot van a windows változatokra történő keresztfordításhoz szükséges kiegészítő állományok telepítője is...

Ha a 2.6 sorozatú FPC-vel működő változatot telepítesz akkor tudnod kell, hogy a 64-bites használatát windows-on nem javasolják a fejlesztők, mert azokban a SEH kivételek még nincsenek kezelve és az elkészített alkalmazások instabilak lehetnek.
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2016 jan. 06 07:49 #1745

  • mikiR2
  • mikiR2 profilkép
  • Új tag
  • Új tag
  • Hozzászólások: 9
  • Köszönetek: 0
Sziasztok most használom először a lazarus-t.
Telepítettem a lazarus 64-bites verzióját windows 8.1 re.

És az lenne a problémám hogy a 64 bites verzióval nem sikerült lefordítani 32 bitesre.

A 64 bites verzióval lehet fordítani 32 bitesre?
És ha igen akkor tudnátok segíteni?

Egy kezdő Lazarus használó kérdései 2015 dec. 31 14:37 #1739

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 472
  • Köszönetek: 80
Köszönjük, hogy megosztottad velünk a munkád gyümölcsét.
Néhány futó pillantást vetettem a forráskódra és van néhány építő jellegű javaslatom arra az esetre ha nem csak windows-on, hanem más rendszereken is szeretnéd használhatóvá/lefordíthatóvá tenni a programod:
  • Próbáld ki és használd az FPSound (vagy a PlaySoundPackage ) csomagot a hangok lejátszásához. A legtöbb esetben működni fog az alapértelmezés szerint telepített rendszerösszetevőkkel.
  • Könyvtárelválasztóként ne a \ jelet hanem a DirectorySeparator állandót használd, mely a forráskód lefordításakor minden rendszerhez a megfelelő könyvtárelválasztó jelet tartalmazza. A Unix típusú rendszereken (Linux, BSD, MacOS stb.) csak a / jel használható e célra.
  • Az ablak átméretezésekor nem kívánatos dolgok történnek. A játékteret (amit most a főablakban közvetlenül jelenítesz meg) egy közbeiktatott, állandó méretű képpel (és játéktérrel) oldd meg. Ezt aztán a StretchDraw() használatával egy az egyben átméretezve rajzolhatsz ki a főablakra... vagy ne engedd meg a főablak átméretezését, ennek egyik módja ha a .Constraints értékeit beállítod és a .BorderStyle pedig legyen például bsSingle vagy bsDialog
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 2.3.0 -- FPC 3.3.1-- GNU/Linux 5.4.0 x86_64

Egy kezdő Lazarus használó kérdései 2015 dec. 31 13:10 #1738

  • Tomi
  • Tomi profilkép Témaindító
  • Haladó forumozó
  • Haladó forumozó
  • Hozzászólások: 56
  • Köszönetek: 1
Sziasztok! Végre elkészült első (és remélhetőleg nem utolsó) játékprogramom a Lazarus-szal! :laugh: A címe: Space Defender.
Innen tölthetitek le: LETÖLTÉS
Sajnos van egy-két bug benne, amit ezidáig nem tudtam megoldani, úgyhogy ha valaki ezek megoldásában segíteni tudna, annak nagyon örülnék. A fő hiba az, hogy az ellenségek lövései néha rossz helyen jelennek meg, pedig én az ellenséges űrhajóobjektumok aktuális koordinátáira hozom őket létre, de mégis máshol bukkannak fel. A többi hiba leírását lásd a fenti letöltési oldalon.
Végül, ezúton szeretnék Gábornak köszönetet mondani a segítségeiért, amit a Lazarus-szal való ismerkedésem során nyújtott (a jóisten tartsa meg ezen szokását :) ), és Boldog Új Évet kívánni mindenkinek! :cheer:

  • Oldal:
  • 1
  • 2
  • 3