Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Ein Bugreport und das hier! (https://www.delphipraxis.net/173316-ein-bugreport-und-das-hier.html)

schöni 17. Feb 2013 08:02

Ein Bugreport und das hier!
 
Folgendes:

Habe soeben versucht,mir einen Account auf der Bugreportseite zu schaffen. Bis zur Bestätigungsmail ding noch alles gut. Danach nicht mehr.Mein Dehler war, das ich den Button "Update User" missverstanden habe und eine der Registerkarten vorher angeklickt habe. Hätte ja sein können, das ich dort vorher mein Profil anpassen kann. Als ich dann jedoch auf die erste Registerseite zurück wollte, bekam ich die lapidare Meldung: "Signup no more valid" und die Aufforederung, den Vorgang zu wiederholen.

Genau das werde ich aber nicht tun. Hab nicht so viel Zeit,ich habe noch andere Interessen. Macht bitte den Login etwas demokratischer. Diktatur ist out. Weg mit der Ideologie, fordere ich.

HIer der Bugreport, den ich dort posten wollte:

Lazarus 0.9.29 -> Buld vom 16.02.2010

Fehler zeigt sich in "control.inc"

Delphi-Quellcode:
{------------------------------------------------------------------------------
  TControl GetText
------------------------------------------------------------------------------}
function TControl.GetText: TCaption;
var
  len: Integer;
begin
  // Check if GetTextBuf is overridden, otherwise
  // we can call RealGetText directly
 #### if TMethod(@Self.GetTextBuf).Code = Pointer(@TControl.GetTextBuf) #### in dieser Zeile
  then begin
    Result := RealGetText;
  end
  else begin
    // Bummer, we have to do it the compatible way.
    DebugLn('Note: GetTextBuf is overridden for: ', Classname);
   
    len := GetTextLen;
    if len = 0 
    then begin
      Result := '';
    end
    else begin
      SetLength(Result, len+1); // make sure there is room for the extra #0
      FillChar(Result[1], len, #0);
      len := GetTextBuf(@Result[1], len+1);
      SetLength(Result, len);
    end;
  end;
end;

//HIer ist diese Fehlerzeile noch einmal

if TMethod(@Self.GetTextBuf).Code = Pointer(@TControl.GetTextBuf)
Ich erhalte deshalb eine SIGSEGV Exception.

Delphi-Quellcode:
procedure TForm1.CalendarDayChanged(Sender: TObject);
begin
  DlgActions := TDlgActions.Create(Self, Calendar.DateTime);
  DlgActions.Prompt := DateToStr(Calendar.DateTime);
  if DlgActions.Execute then
  begin
    FDateTimeAction := DlgActions.MyAction;
  end;
  FMyAction := DateTimeToStr(Calendar.DateTime) + FDateTimeAction;
  Apply(FMyAction);
  DlgActions.Free;
end;
MyAction ist ein simpler String.

Der Dialog, von mir gebaut, lässt sich nicht aufrufen, stattdessen kommt die Exception. Habe in der Projektdatei beides getestet:

- Application.CreateForm(..) aufgerufen
- Application.CreateForm(..) AUfruf auskommentiert

Die Exception kommt in beiden Fällen

Mögen die Lazarusentwickler bitte so freundlich sein und den Bugreport auf die vorgesehene Seite stellen oder den Fehler gleich beseitigen. Ich kenne mich mit den Sourcen zu wenig aus, um in vertretbarer Zeit die Ursache zu finden und dann den Bug zu beseitigen.

Daniel 17. Feb 2013 08:15

AW: Ein Bugreport und das hier!
 
Wir haben zwar den einen oder anderen FreePascal-/Lazarus-Anwender hier, aber mit so einem Bugreport solltest Du Dich wirklich an die einschlägigen Communities wenden. Hier werden Deine Informationen mit Sicherheit untergehen.

//Edit: Wenn Du die DP schon für Bugreports für FreePascal nutzt, dann sei doch bitte so gut und gib Deinem Thema einen aussagekräftigen Titel. Du bist doch nun wirklich schon lang genug dabei, um diese Grundlagen aus dem FF zu beherrschen (wenn Du Dich nicht gerade über irgendein Software-Produkt aufregst *g*).

schöni 17. Feb 2013 08:51

AW: Ein Bugreport und das hier!
 
Zitat:

Zitat von Daniel (Beitrag 1203915)
Wir haben zwar den einen oder anderen FreePascal-/Lazarus-Anwender hier, aber mit so einem Bugreport solltest Du Dich wirklich an die einschlägigen Communities wenden. Hier werden Deine Informationen mit Sicherheit untergehen.

Schon klar, weil das möglicherweise keiner oder zu wenige lesen, aber die haben ein zu rigides Anmeldesystem. Die könnten doch einfach entweder erst mal das Profil nach Anklicken des Link's in der Bestätigungsmail übernehmen und danach erst eine Änderung der Profildaten anbieten, statt den User gleich wieder auszuchecken, sobald man nur einen falschen Button geklickt hat. Update User, statt einfach Ok ist verwirrend. Ich habe da gedacht, ich könnter auch erst mal alle meine Profildaten problemlos anpassen (Update). Dabei sollte es eigentlich auch möglich sein, auf eine vorher gehende Eingabemaske zurück zu schalten. Das aber funktioniert dort nicht und man wird komplett ausgecheckt. Geht doch auch, das man nach Anklicken der Bestätigungsmail komplett eingeloggt ist und das Profil auf dem Server gespeichert ist. Dann wäre es egal, ob ich erst mal meine Profildaten anpasse oder gleich den Bugreport poste. Oder das anonyme Einloggen wird vereinfacht. Nicht jeder anonyme Poster ist gleich ein Spammer.

So wie dort die Programmierer all das in ihrer ach so kostbaren Freizeit auf die Beine stellen, mache ich den Bugreport auch in meiner Freizeit und die ist mir mindestens so kostbar wie deren Freizeit. Auch die Programmierung mit Lazarus mache ich in meiner Freizeit und da macht es absolut keinen Spaß, wegen solcher Fehler sein Programm nicht zumAbschluss zu kriegen und kommerziell arbeiten geht auch schon mal nicht, dazu müsste ich mit meinem Programm zum Abschluss kommen.

Mehr Demokratie im OpenSource Bereich, tut dringend Not. Weg mit all den Barrieren, sei es eine zu komplizierte Anmeldeprozedur, zu wenig Dokumentation,... was auch immer. So aber bleibt mir letztlich nur das gute alte Delphi (TD2006 und D7 Personal) Ich kann der OpenSource Gemeinde so nicht helfen.



Hmmm, wie kann ich den Titel meinens Stranges jetzt noch andern?

Allerdings könnte ich maximal noch dazu schreiben, das ich die SIGSEGV Exception erhalte. Mehr Information gibt mir Lazarus nämlich nicht. Was dann sicher auch denBugreport an der richtigen Stelle verkompliziert und meine Motivation, den SignIn einfach noch mal zu versuchen und das nächste Mal gleich in den Bugreport zu gehen, gegen NULL sinken lässt, weil das Lazarus Team dann auch nichts mit meiner Fehlermeldung anfangen kann, da SIGSEGV viele Ursachen haben kann. Schwierig, da immer aussagekräftig zu bleiben.

Sir Rufo 17. Feb 2013 09:22

AW: Ein Bugreport und das hier!
 
Titel ändern: ersten Beitrag ändern? bis zu 24h?

Daniel 17. Feb 2013 09:27

AW: Ein Bugreport und das hier!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es ginge auch ein Doppelklick in der Themen-Übersicht in die freie Fläche neben den Themen-Titel.
(s. Anhang)
Anhang 38591

knight 17. Feb 2013 09:44

AW: Ein Bugreport und das hier!
 
Für die Meldung von Bugs bei Lazarus/FPC wird Mantis (http://de.wikipedia.org/wiki/Mantis) verwendet. Ich vermag nicht zu erkennen, was daran Diktatur sein soll. Wenn du eine Bestätigungs-Email erhalten hast, dann solltest du dich mit den Daten anmelden können, auch wenn zwischenzeitlich eine Fehlermeldung erschienen ist.
Wenn du den Bug gemeldet hast, dann wirst du vermutlich den Hinweis bekommen, auf die aktuelle Lazarus-Version zu aktualisieren, da dort der Bug dort möglicherweise schon behoben ist. Und falls der Bug noch nicht behoben ist, so wird die Korrektur nicht mehr in Version 0.9.29 einfliessen.
Um im Fehlerfall an Daten zu kommen, kann man es auch mit einem Backtrace versuchen (siehe http://wiki.lazarus.freepascal.org/C...trace_with_GDB). Wenn du den Bug gemeldet hast, dann wird man dir schon mitteilen, welche Informationen man ggf. noch von dir benötigt. Wegen fehlender Daten ist noch niemand gevierteilt worden.

JamesTKirk 17. Feb 2013 11:11

AW: Ein Bugreport und das hier!
 
1. Du scheinst bereits mit einer ziemlich negativen Einstellung an die ganze Sache ranzugehen. Das wird die Sache weder für dich noch für die Lazarusentwickler einfacher machen.

2. Wir verwenden die Bugtracking Software Mantis. Wenn du also Beschwerden bezüglich des Logins hast, dann vermelde die bitte direkt bei denen.
Warum es dich gleich wieder abgemeldet hat kann ich dir nicht sagen, aber du hättest ja nochmal auf "Login" gehen können, da du ja bereits einen Account angelegt hast (ich weiß, ich sag das so einfach, aber anderen funktioniert es ohne Probleme).

3. Es ist sehr hilfreich bei einem Bugreport ein kompilierbares Beispiel anzuhängen. Das du den Fehlerort für dich gefunden haben zu scheinst ist ja schön und gut, aber wenn man Entwickler erst selbst ein Programm zusammenstellen muss, um den Fehler zu finden und ihn dann am Ende doch nicht nachvollziehen kann, weil man irgendwas anders gemacht hat als der Melder, dann ist keinem geholfen.

4. Selbst wenn der Fehler dann behoben wird, wirst du nicht um ein Update herum kommen, da - wie du selbst ja geschrieben hast - die 0.9.29 mittlerweile 3 Jahre alt ist. Die Korrektur würde höchstens noch in 1.0.7 einfließen, was das nächste stabile 1.0.8 werden wird.

Wenn du dich also noch immer nicht mit unserem Bugtracker anlegen möchtest, dann bitte ich dich zumindest Punkt 3 zu beachten und hier im Thread ein kleines Beispielprogramm einzustellen mit dem man den Fehler nachvollziehen kann.

Und noch ein Hinweis zum Schluss: die Entwickler eines Open Source Projekts (in diesem Fall Lazarus) sind nicht dein "Feind". Ihr steht euch nicht an verschiedenen Fronten gegenüber, wie das bei kommerziellen Projekten der Fall ist, sondern ihr habt beide das selbe Ziel: eine gut funktionierende Software. Das ist auch das, was eine Community ausmacht. Wenn du mit einer solchen Einstellung an sowas rangehst, dann sollte es dir besser gehen.

Gruß,
Sven

EgonHugeist 17. Feb 2013 11:54

AW: Ein Bugreport und das hier!
 
@knight, JamesTKirk

Sehr schön ausgedrückt, dem gibt es wohl nichts mehr hinzuzusetzen. Afaik, DevArt z.B. akzeptiert BugReports NUR mit Beispielen, ohne -> won't fix -> closed...


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz