Bugs in Lazarus-FPC 2.4.2 für Windows XP Pro

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Bugs in Lazarus-FPC 2.4.2 für Windows XP Pro

Beitrag von br_klaus »

Hallo,

ich wollte einige Bugs an Lazarus melden, aber mit dem Bugtracker komme ich nicht gut zurecht. Da weiß ich nicht, zu welcher Kategorie meine Bemerkungen gehören.
Vielleicht kann das einer von euch weitermelden?
Schon herzlichen Dank im Voraus!


Erstens ist mir aufgefallen, daß bei der automatischen Installation der verschiedenen Snapshots (für win32)
jedesmal auch einige Dateien geschrieben werden, die "falsche" Daten erhalten, sei es eine falsche Version oder falsche Verzeichnisangaben.
benutzter Snapshot: Lazarus-0.9.31-29088-fpc-2.4.2-20110118-win32.exe


Es handelt sich um folgende Dateien: ( mein Verzeichnis ist C:\Lazarus\ )



\doceditor\fpcdocupdater:
mainunit.lfm --> D:\Projects\lazarus\...
mainunit.pas --> E:\lazarus.. und E:\lazarus\fpc\2.2.1\..

\examples\codepageconverter\
mainunit.lfm ---> i:\FPC\Lazarus\examples...

\examples\database\dblookup
project1.lpi --> \fpc\2.2.3 and \fpc\2.2.5

\examples\dbeditmask\
unit1.lfm --> D:\repositories\examples...
C:\LazarusProjects\DBLookupTest\data\




Auch gibt es einige Verzeichnisangaben, die wohl vom jeweiligen Autor stammen:

\components\lazreport\samples\barcode\cbunit.lfm
object Dbf1: TDbf
FilePath = 'C:\Documents and Settings\javiVF\Escritorio\lazarus\Proyectos\cb\db\/\'
IndexDefs = <>
TableName = 'disco.dbf'
TableLevel = 3
end


\components\jcf2\IdePlugin\lazarus\jcfidelazarus.lpk
<IncludeFiles Value="..\..\Include\;C:\programming\lazarus\components\jcf2\Ui\Settings\"/>

\components\jcf2\CommandLine\jcf.dof
RunParams=-config=C:\Code\CodeFormat\Jcf2\Test\TestCases\JCFTestSettings.cfg -out -F C:\Code\CodeFormat\Jcf2\Test\TestCases\EmptyTest1.pas

ebenso zwei ähnliche Angaben in \ == \D11\jcf.bdsproj und ==\D12\jcf.bdsproj



\components\jcf2\Contributions\StyleEditor\JCFStyle.cfg
-LE"C:\Documents and Settings\Anthony\My Documents\Borland Studio Projects\Bpl"
-LN"C:\Documents and Settings\Anthony\My Documents\Borland Studio Projects\Bpl"

\components\jcf2\JcfGui\D11\fcfGui.bdsproj und ...\D12\....
<Language Name="RootDir">C:\Code\JcfCheckout\CodeFormat\Jcf2\CommandLine\</Language>


ähnlich in ...\D11\JcFNotePad.bdsproj und ...\D12\...


\debugger\test\Gdbmi\TestGdbmi.lpi
<Filename Value="C:\FPC\SVN\trunc\.... (viele Angaben)


\doceditor\fpcdocupdater\mainunit.lfm
FileName = 'c:\fpcbeta\bin\i386-win32\makeskel'

\docs\html\build_html.bat
PATH=C:\Programas\lazarus22\fpc\2.2.0\bin\i386-win32

wäre es denn nicht möglich, diesen Pfad gleich beim Entpacken richtig zu verändern?
Und es nicht erst dem User überlassen?


\examples\affinetransforms\project1.lpi
C:\fpc\2.2.4\source\rtl\objpas\types.pp"/>
C:\lazarusSVN\... (viele Male)



\examples\dockmanager\toolbar\test1.lpi
<DestinationDirectory Value="D:\SourceForge\lazarus\examples\dockmanager\toolbar"/>


\examples\postscript\usamplepostscriptcanvas.pas
C:\Program Files\Ghostgum\gsview\gsview32


\examples\SynEdit\Completion\SynCompletionSample.lpi
C:\FPC\SVN\trunc\... (viele Male)


...\bin\i386-win32\cygwin1.dll
C:\CYGWIN_SYSLOG.TXT


,,\source\packages\ptc\docs\INSTALL
set FPCDIR=c:\fpc\2.0.0

das scheint eine sehr alte Datei zu sein, ist die überhaupt noch aktuell?


..\source\rtl\palmos\m68k\prto.pas
c:\FPC\FIXES\RTL\PALMOS\CRT0.O..... (viele Male)

\mingw\bin\libexpat-1.dll
C:\MinGW\src\gccbf\mingw32\libgc...


\test\testlpi.pas
ScriptEngine := 'C:\Program Files\AutoHotkey\AutoHotKey.exe';
bhook'




außerdem wird die Uninstallationsdatei unins000.dat (mit den Daten der alten Version), wenn sie schon existiert, nicht überschrieben.



Nun zum Programm selber:

Beim Starten von Lazarus werden erst noch die alten Einstellungen übernommen,
sodaß das Programm zunächst die Units nicht finden kann.
Ich muß erst die Verzeichnisangaben in den Einstellungen von Hand korrigieren.



Beim Gebrauch von Lazarus mit FPC 2.4.2 (unter Windosw XP) gibt es
immer noch ein paar Probleme:
Nehmen wir an, ich habe die Klasse TWorte definert als

Code: Alles auswählen

Type Tworte = class(TObject)
   wortnr:integer; // Wort-Nr im Font-Text
	....
	end;
und dann die Variable worte als TWorte deklariert

Code: Alles auswählen

var worte:Tworte;
Wenn ich jetzt im Programm mit dem Cursor die Variable wortnr berühre,
dann wird nicht deren Wert angezeigt, sondern es erscheint die Fehlermeldung

Code: Alles auswählen

wortnr: No Symbol \"wortnr\" in current context.
 
published var Tworte.wortnr:integer;
 
TWorte.wortnr
Wort-Nr im Font-Text
auch bei ^F7 erhalte ich beim Checken dieser Variablen die gleiche
Fehlermeldung (.. No Symbol .. in current context).
Erst wenn ich davor die Klasse setze (Worte.wortnr), dann kann ich die Variable ändern.

Es wäre gut, wenn das Lazarus gleich automatisch machen würde, also gleich
Worte.wortnr als zu verändernde Variable angeben.


Außerdem wäre es m.E. gut, wenn man wie in TP5, TP6, TP7 mit ^F7 noch weitere Variablen zum Betrachten
hinzufügen kann und v.a. daß man deren Wert zur Laufzeit sieht (und nicht erst mit
"Berechnen" aktualisieren muß.

Wenn ich mit dem Cursor eine Variable berühre, die Element eines Record/Object/Class ist (besonders in einem with ... do ... - Block, dann wird meistens auch nicht deren Wert angezeigt, sondern es erscheint ebenfalls die obige Fehlermeldung (manchmal klappt es jedoch).

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Bugs in Lazarus-FPC 2.4.2 für Windows XP Pro

Beitrag von u-boot »

Dein Beitrag ist sehr lang, ich fang mal von unten an:

Unter Ansicht > Debuggerfenster gibt es lokale Variablen [Strg + Alt +L] und Überwachte Ausdrücke [Strg + Alt +W]. Die Dinge funktionieren ab und an (Bei mir fast immer, außer wenn ich an Lazarus/Fpc selber etwas probieren will). Man muss aber Afaik vor Programmstart wissen, was einen so interessiert.


Bei mir funktioniert zumindest folgendes:

Code: Alles auswählen

type
Tworte = class(TObject)
  wortnr:integer; // Wort-Nr im Font-Text 
  procedure wortezuweisung();
end;
 
var
  worte:Tworte;
 
implementation
 
{$R *.lfm}
 
procedure Tworte.wortezuweisung();
begin
  wortnr:=560;
end;
Ohne Angabe wo eine Variable zu finden ist, wird die Variable auch nicht gefunden. Hier wird es durch den Prozedurkopf gefunden. Man muss also in der Klasse arbeiten um automatisch ohne Klassenangabe auf die Variablen in der Klasse zugreifen zu können.


Zum update unter Win kann ich nix sagen, hab ich noch nicht probiert. Ich sehe nur, dass da sehr viel in Examples liegt was du geschrieben hast. Nunja ist schade wenns da nicht funktioniert aber soweit ich weiss ist jeder herzlich eingeladen funktionierende Patches übern Bugtracker einzureichen. Falls man sich das nicht zutraut darf man auch einfach nen Bugreport schreiben. Ich glaub allerdings nicht, dass Beispiele als sehr wichtig angesehn werden.

bugtracker gibts unter http://bugs.freepascal.org" onclick="window.open(this.href);return false;
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Antworten