AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi IDE Bug

Ein Thema von ErazerZ · begonnen am 14. Jun 2006 · letzter Beitrag vom 14. Jun 2006
Antwort Antwort
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#1

Delphi IDE Bug

  Alt 14. Jun 2006, 11:57
hi Leute,
mir ist neulich ein bug in Delphi (6+7) aufgefallen (bei uall's ring0 unit) der dazu führt das Delphi total abstürzt. Also ich zeig mal ein Beispiel:
Delphi-Quellcode:
// dieser record muss in z.b. Unit1 deklariert werden, unter TForm usw.
type
  PMyRecord = ^PMyRecord; // das ist das Problem ..
  TMyrecord = packed record
    Value1: PChar;
    Value2: Integer;
    Value3: ShortString;
    Value4: Cardinal;
    Value5: Pointer;
  end;
ruft man nun z.B. "Unit1." auf sollte normalerweise die Box (wo alle Befehle, Klassen stehen) kommen. Jedoch kommt es das erste mal zu einer Fehlermeldung:
Zitat:
---------------------------
Danger
---------------------------
Stack overflow - save your work and restart Delphi.
---------------------------
OK
---------------------------
Tippt man das jetzt erneut ein, und die Box normalweiße anzeigt werden sollte, stürzt Delphi dabei total ab und muss neu gestartet werden.
Ich bin jedoch nicht sicher ob der Fehler noch unter Delphi 2005 und 2006 noch dabei ist.
  Mit Zitat antworten Zitat
Benutzerbild von Kroko1999
Kroko1999

Registriert seit: 21. Apr 2005
Ort: Spremberg
455 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Delphi IDE Bug

  Alt 14. Jun 2006, 12:04
ich habe D6 Pro und bei mir gibt es keinerlei Probleme, er komp. und startet einwandfrei!
Da sprach der Stumme zum Blinden: "Du wirst sehen ..."
oder
Wer lesen kann, ist klar im Vorteil!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Delphi IDE Bug

  Alt 14. Jun 2006, 12:08
1.) (Sicher nur tippfehler) müßte es PMyRecord = ^TMyRecord; heißen.

Aber unter D2006 funktioniert es problemlos.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Delphi IDE Bug

  Alt 14. Jun 2006, 12:14
Zitat von Kroko1999:
ich habe D6 Pro und bei mir gibt es keinerlei Probleme, er komp. und startet einwandfrei!
ja das Kompilieren ist auch kein Problem, das Problem ist wenn Delphi die Box aufruft wo alle Befehle, Variablen der Unit stehen.
Zitat von mkinzler:
1.) (Sicher nur tippfehler) müßte es PMyRecord = ^TMyRecord; heißen.
Aber unter D2006 funktioniert es problemlos.
Ja mir ist auch bewusst das es ein Tippfehler ist, ich wollte nur sagen das Delphi ein Problem mit diesem Code hat.
Ich hab mir das so vorgestellt:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
type
  PMyRecord = ^PMyRecord; // das ist das Problem ..
  TMyrecord = packed record
    Value1: PChar;
    Value2: Integer;
    Value3: ShortString;
    Value4: Cardinal;
    Value5: Pointer;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  { wenn man das hier eintippt kommt die box, und weil man oben PMyRecord = ^PMyReord gemacht hat stürzt Delphi ab wenn
    es alle Funktionen auflisten sollte }

  Unit1.
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Delphi IDE Bug

  Alt 14. Jun 2006, 12:18
Also D2006 weigert sich das zu kompilieren, da die "Typdefinition unvollständig" sei.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Delphi IDE Bug

  Alt 14. Jun 2006, 12:26
Zitat von mkinzler:
Also D2006 weigert sich das zu kompilieren, da die "Typdefinition unvollständig" sei.
Das war ein Compilerbug, welcher in iirc D2005 behoben wurde.

Das war auch der Grund für den Absturz, da hier die Code-Insight Methoden sich bis zum Stack-Overflow iterativ aufgerufen haben.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 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