🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
9 messages
9 total messages Started by stchebel Wed, 21 Dec 2016 22:32
Lazarus/Scanline
#345463
Author: stchebel
Date: Wed, 21 Dec 2016 22:32
16 lines
1705 bytes
Witam,
Znowu problemy.. :( 

Zacznijmy od D6. Jest sobie BitMapa o nazwie 'SliczneDziewcze.bmp'. Chcę możliwie jak najszybciej wykonać (tylko i wyłącznie) na owym pewne działania.

Po kolei:

1) w D6 zadeklarowałem zmienne globalne
   var P:PByteArray;
       k:byte;

2)Robię gdzieś tam w procedurze k:=ObrazPodstawowy.ScanLine[y]; (ObrazPodstawowy, to bitmapa)

3) Dalej robię próbę przypisania k:= BezZnarzecja... W D6 kompilacja przechodi bezproblemowo, Lazarus krzyczy podczas kompilacji o niekompatybilnąści Typów (k,P). Tymczasem w D6 wszystko przechodzi na poziomie kompilacji.

Co sugerujecie??!!
Re: Lazarus/Scanline
#345464
Author: Piotr S.
Date: Thu, 22 Dec 2016 06:52
9 lines
1235 bytes
W dniu 2016-12-21 o 23:32, stchebel@gmail.com pisze:
> 3) Dalej robię próbę przypisania k:= BezZnarzecja... W D6 kompilacja przechodi bezproblemowo, Lazarus krzyczy podczas kompilacji o niekompatybilnąści Typów (k,P). Tymczasem w D6 wszystko przechodzi na poziomie kompilacji.
>

Co to jest "BezZnarzecja"?

Podaj kompletny kod a nie jakieś urywki.

P.S.
Re: Lazarus/Scanline
#345465
Author: stchebel
Date: Thu, 22 Dec 2016 07:58
32 lines
2149 bytes
W dniu czwartek, 22 grudnia 2016 07:52:53 UTC+1 użytkownik Piotr S. napisał:
> W dniu 2016-12-21 o 23:32, stchebel@gmail.com pisze:
> > 3) Dalej robię próbę przypisania k:= BezZnarzecja... W D6 kompilacja przechodi bezproblemowo, Lazarus krzyczy podczas kompilacji o niekompatybilnąści Typów (k,P). Tymczasem w D6 wszystko przechodzi na poziomie kompilacji.
> >
> 
> Co to jest "BezZnarzecja"?
> 
> Podaj kompletny kod a nie jakieś urywki.
> 
> P.S.

OK, wygląda to mniej więcej tak:

var

ObrazPodstawowy:TBitMap;
P:PByteArray;
x,y,i:integer;
k:byte;

begin   

ObrazPodstawowy:=TBitmap.Create;
ObrazPodstawowy.LoadFromFile('obrazek.bmp');
y:=0;     
P:=ObrazPodstawowy.ScanLine[y];
i:=0;
k:=P[i];

W ostatnim wierszu Lazarus wywala błąd kompilacji : Incompatible types: got "TbyteArray" expected "Byte".

Tymczasem to samo w D6 przechodzi bez problemu.
Re: Lazarus/Scanline
#345469
Author: mmm
Date: Thu, 22 Dec 2016 08:15
20 lines
1580 bytes
> Co sugerujecie??!!
>
1) Założyć konto na github
2) Założyć nowe repozytorium
3) Opublikować problem w postaci projektu
To by bardzo ułatwiło nikt sie nie bedzie  domyslał co masz w kodzie, 
jak opublikujesz link z adresem do swojego repozytorium to bedzie raptem 
pare sekund aby obejrzeć projekt z problemem a wtedy to ja chętnie pomogę.
Kolejna zaleta to wartość dydaktyczna, ktoś będzie miał podobny problem 
i dokopie się do Twojego kodu z rozwiązaniem które moze sie tu pojawi:)

A co do samego problemu to w lazarus/fpc nie wszystko jest tak 100% 
kompatybilne.

I jeszcze pytanie czy byleś tutaj ?
http://wiki.lazarus.freepascal.org/Developing_with_Graphics



M
Re: Lazarus/Scanline
#345462
Author: mmm
Date: Thu, 22 Dec 2016 08:19
7 lines
1071 bytes
> P:PByteArray;
> k:=P[i];

Strzelam w ciemno !
k:=P^[i];

M
Re: Lazarus/Scanline
#345470
Author: stchebel
Date: Thu, 22 Dec 2016 08:29
23 lines
2371 bytes
W dniu czwartek, 22 grudnia 2016 09:15:23 UTC+1 użytkownik mmm napisał:
> > Co sugerujecie??!!
> >
> 1) Założyć konto na github
> 2) Założyć nowe repozytorium
> 3) Opublikować problem w postaci projektu
> To by bardzo ułatwiło nikt sie nie bedzie  domyslał co masz w kodzie, 
> jak opublikujesz link z adresem do swojego repozytorium to bedzie raptem 
> pare sekund aby obejrzeć projekt z problemem a wtedy to ja chętnie pomogę.
> Kolejna zaleta to wartość dydaktyczna, ktoś będzie miał podobny problem 
> i dokopie się do Twojego kodu z rozwiązaniem które moze sie tu pojawi:)
> 

Tak uczynię, ale najpierw zrobię trochę porządku w kodzie, bo taki burdel jak mam w tej chwili to wstyd publikować.

> A co do samego problemu to w lazarus/fpc nie wszystko jest tak 100% 
> kompatybilne.
> 
> I jeszcze pytanie czy byleś tutaj ?
> http://wiki.lazarus.freepascal.org/Developing_with_Graphics
> 
> 
Interesujące, thks.
Re: Lazarus/Scanline
#345466
Author: Piotr S.
Date: Thu, 22 Dec 2016 08:30
21 lines
1546 bytes
W dniu 2016-12-22 o 08:58, stchebel@gmail.com pisze:
>
> ObrazPodstawowy:=TBitmap.Create;
> ObrazPodstawowy.LoadFromFile('obrazek.bmp');
> y:=0;
> P:=ObrazPodstawowy.ScanLine[y];
> i:=0;
> k:=P[i];
>
> W ostatnim wierszu Lazarus wywala błąd kompilacji : Incompatible types: got "TbyteArray" expected "Byte".
>
> Tymczasem to samo w D6 przechodzi bez problemu.
>

http://wiki.freepascal.org/Code_Conversion_Guide

Patrz "When accessing values in a pointer to a record you must 
dereference first". Dotyczy typów record ale widocznie w tym przypadku 
jest tak samo.

P.S.
Re: Lazarus/Scanline
#345467
Author: stchebel
Date: Thu, 22 Dec 2016 08:35
9 lines
1505 bytes
W dniu czwartek, 22 grudnia 2016 09:19:26 UTC+1 użytkownik mmm napisał:
> > P:PByteArray;
> > k:=P[i];
> 
> Strzelam w ciemno !
> k:=P^[i];
> 

Jak zwykle masz rację. Dzięki!
Re: Lazarus/Scanline
#345468
Author: stchebel
Date: Thu, 22 Dec 2016 12:26
11 lines
1622 bytes
W dniu czwartek, 22 grudnia 2016 09:30:47 UTC+1 użytkownik Piotr S. napisał:

> 
> http://wiki.freepascal.org/Code_Conversion_Guide
> 
> Patrz "When accessing values in a pointer to a record you must 
> dereference first". Dotyczy typów record ale widocznie w tym przypadku 
> jest tak samo.
> 

Też dobry namiar. Dzięki !
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads