Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Probleme mit Delphi 2007 (https://www.delphipraxis.net/89347-probleme-mit-delphi-2007-a.html)

hanspeter 29. Mär 2007 23:07


Probleme mit Delphi 2007
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo,

Delphi2007 und nur Ärger, kann wer nachfolgende Probleme verifizieren?

1. Debuggen ist praktisch nicht mehr möglich.
Delphi verzweigt mit F7 immer in den Assembler-Quelltext des Laufzeitsystems.
Mit F7 in eine Procedure nur über x Zeilen Assemblercode.
In diesem Code scheint es das #$0d#$0a Problem zu geben. Der Debugger springt auch
zwischen die Zeilen.
Auf Haltepunkten kann der Debugger keine Bufferinhalte darstellen.(Siehe Bild5 Anlage)
Optimierung ist ausgeschaltet.

2. Die Anweisung Showmessage funktioniert nur, wenn sei aus dem Context eines Fensters aufgerufen wird.

(Also z.B. ein Buttonclick.)

Ein Aufruf wie z.B.
Delphi-Quellcode:
constructor TErgebnisDruck.Create(VirtualTable: TVirtualTable; aGRid : TDBAdvGrid);
begin
  DruckTable := VirtualTable;
  Grid      := aGrid;
  Ctrl      := TCtrlADVGridTable.Create(DruckTable,Grid);
  size      := Data.GetParamString('ERGEBNISGrid');
  showmessage('Codegear');
end;
Führt zum Absturz - ein deaktiviertes oder unsichtbares Fenster kann den Focus nicht erhalten.

3. Delphi vergisst ab und an Komponenten.

4. Die Hilfe ist praktisch unbenutzbar.
Der jeweils erste Aufruf nach dem Programmstart legt den Rechner für > 1 min lahm.
Jeder Hilfeaufruf erzeugt ein Speicherleak von 0.01GByte ( in Worten 0,01 Gigabyte)

Viele Fehler aus der alten Hilfe wurden übernommen. Viele Stichworte sind nicht verlinkt.
Beschreibungen sind noch aussagekräftiger geworden.
Sehr häufig in der Form "Das ist FAnchorMove, ein Mitglied der Klasse TControl.".

5. Bereits funktionierende (Kauf) Komponenten werden mit einer Fehlermeldung "fehlende Personality"
abgelehnt, funktionieren aber dann trotzdem. (Siehe Anlage).

6. Nach dem Kompilieren bereits funktionierender Kaufkomponenten kommt die Fehlermeldung Invalid Fileformat. (Siehe Anlage).

Das Delphi sich nicht fehlerfrei beenden lässt, daran habe ich mich gewöhnt

7. Delphi telefoniert mit jedem Start Nachhause. Kann man das irgedwo nach der Installation abstellen?

Gruß Peter

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]

Rakshasa 29. Mär 2007 23:15

Re: Probleme mit Delphi 2007
 
Oje ...da kommt ja einiges auf mich zu....

Christian S. 29. Mär 2007 23:23

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von hanspeter
eder Hilfeaufruf erzeugt ein Speicherleak von 0.01GByte ( in Worten 0,01 Gigabyte)

Man könnte fast meinen, es wären 10MB, aber das klingt natürlich nicht so dramatisch :roll:

Sorry für Off Topic, ich habe wirklich nichts gegen Kritik an CodeGear, aber sie sollte auf solche Methoden verzichten und sich auf Fakten beschränken.

Ghostwalker 30. Mär 2007 06:01

Re: Probleme mit Delphi 2007
 
Zu 7.:

Automatische Aktualisierung. Eine Option die man am Ende der Installation abschalten kann.
Das kannst du ganz einfach beheben in dem du die Installation aufrufst->ändern->durchlauf bis
zum Schluss und am Ende den Hacken bei "Automatisch auf Updates prüfen" wegmachst.

Zu 6.:

Das klingt sehr danach, das Delphi hier auf alte Binarys der Komponenten zugreift. Überprüf
mal die Pfade und lösch ggf. alte Binarys.

Zu 5.:

Konnte ich nicht nachvollziehen.


Zu 4.:

Speicherleak/1.Start langsam:

Das liegt nicht an Codegear/Delphi sondern am neuen Hilfesystem von MS. Dieses versucht die Hilfe
aktuell zu halten bzw. konsistent zu halten. Dabei taucht hin und wieder (zumindest bei mir nur
hin und wieder) ein Fenster auf, mit einem Fortschrittsbalken. Das Problem dieses Systems ist,
das MS nicht mehr einzelne Hilfen haben möchte, sondern quasi alle Hilfen (egal ob Win, Applikation
oder sonstwas) in ein System reinpressen möchte.


Fehlende/Fehlerhafte Topics:

Das hat Nick Hodges bereits gesagt und auch bestätigt. Da die Hilfe von Grundauf neu aufgebaut
wird/worden ist, ist sie noch nicht perfekt. Es wird aber daran gearbeitet und es sollen entsprechende
Updates kommen. (siehe auch CodeRage-Video zum Thema Help).


Zu 3.

Ist mir noch nicht unter gekommen.

Zu 2.

Kann ich so nicht nachvollziehen.

Ein Aufruf von Showmessage z.B. vor dem Create der MainForm in einem Programm läuft einwandfrei.

Code:
program Project5;

uses
  Forms,
  dialogs,
  Unit5 in 'Unit5.pas' {Form5};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  showmessage('BLUBB');
  Application.CreateForm(TForm5, Form5);
  Application.Run;
end.
Zu diesem Zeitpunkt gibts noch kein Fenster in dessen Context das Ablaufen könnte.
Ich vermute, das das Problem eher an TErgebnisDruck liegt (bzw. an den Übergebenen Parametern). Aber ohne nähere Informationen kann man da schlecht was sagen.

Zu 1.

a) Verzweigung

Überprüf mal die Pfade ob die auch auf die Quellen verweisen. Wenn Delphi keine Quellen findet kann er nur in den Assembler/Cpu-Ansicht verzweigen.

b) ???

c) Kann ich leider nicht nachvollziehen. (Buffer bei Haltepunkt)

hanspeter 30. Mär 2007 07:32

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von Christian S.
Zitat:

Zitat von hanspeter
eder Hilfeaufruf erzeugt ein Speicherleak von 0.01GByte ( in Worten 0,01 Gigabyte)

Man könnte fast meinen, es wären 10MB, aber das klingt natürlich nicht so dramatisch :roll:

Sorry für Off Topic, ich habe wirklich nichts gegen Kritik an CodeGear, aber sie sollte auf solche Methoden verzichten und sich auf Fakten beschränken.

Das ist die Anzeige aus dem Taskmanager. Den habe ich mitlaufen lassen, nachdem Delphi nach etwas intensiveren Gebrauch der Hilfe
beim Compilieren mit der Meldung "Nicht genügend Speicher vorhanden" abbricht und neu gestartet werden muss.
(2 GByte Speicher)

Peter

hanspeter 30. Mär 2007 07:56

Re: Probleme mit Delphi 2007
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Ghostwalker
Z

Zu 2.

Kann ich so nicht nachvollziehen.

Ein Aufruf von Showmessage z.B. vor dem Create der MainForm in einem Programm läuft einwandfrei.

[
Zu diesem Zeitpunkt gibts noch kein Fenster in dessen Context das Ablaufen könnte.
Ich vermute, das das Problem eher an TErgebnisDruck liegt (bzw. an den Übergebenen Parametern). Aber ohne nähere Informationen kann man da schlecht was sagen.

Das ist der Kontext, welcher den Fehler erzeugt:

Delphi-Quellcode:
constructor TErgebnisDruck.Create(VirtualTable: TVirtualTable; aGRid : TDBAdvGrid);
begin
  DruckTable := VirtualTable;
  Grid      := aGrid;
  Ctrl      := TCtrlADVGridTable.Create(DruckTable,Grid);
  size      := Data.GetParamString('ERGEBNISGrid');
  showmessage('Delphi');
end;

Hier erfolgt der Aufruf, welcher den Fehler auslöst :


Delphi-Quellcode:
procedure TFrmErgList.FormCreate(Sender: TObject);
begin
  isInit := true;
  ErgDruck := TErgebnisDruck.Create(VirtualTableErg, DBAdvGridErg);

Das anzuzeigende Fenster wird aus dem Hauptmenü des Programmes aktiviert.
Der Fehler kommt auch, wenn Tools, wie z.B. IBObjects, Fehlermeldungen ausgeben wollen.
Im Construktor eines nachfolgenden Fensters z.B. SELEKT * ... Der Syntaxfehler Select
bringt das Fehlerbild.
Unter Vorgängerversionen von D2007, hat der Code fehlerfrei funktioniert.
Beispiel Anlage

Zum Debugger.
Nehme ich den Zugriff auf das Verzeichnis SYSTEM weg, dann kommt beim Debuggen die Meldung
"Verzeichnis nicht gefunden" und er steppt durch unbekannten Code. (Bild2)


Peter

Daniel 30. Mär 2007 08:04

Re: Probleme mit Delphi 2007
 
Hanspeter, auch für Dich gilt bitte wie für alle anderen: Pro Frage ein Thema. Das geht hier sonst wieder wie Kraut und Rüben durcheinander.

Zume Thema Formular & ShowMessage:
Auch ich konnte das nicht nachvollziehen. Dennoch gab es Änderungen in diesem Bereich, um die Vista-Kompatibilität herzustellen. Was hast Du beispielsweise mit "Application.MainFormOnTaskbar" gemacht?

Daniel 30. Mär 2007 08:28

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von hanspeter
7. Delphi telefoniert mit jedem Start Nachhause. Kann man das irgedwo nach der Installation abstellen?

Naja, wo steht sowas denn üblicherweise? In der Registry. Und genau dort findest Du auch die Schlüssel:

"HKLM\Software\Borland\BDS\5.0\AutoRun" und dort dann den Untereintrag "AutoUpdate". Den gleichen Schlüssel gibt's auch noch mal unter HKCU - und solltest Du eine 64bit-Maschine haben, dann schummelt sich dann noch ein "Wow6432Node" vor den Borland-Eintrag.


Peter - bei allem Respekt für Dein Unbehagen mit Delphi - aber Du stellst Dich auch ein wenig an ... :roll:

Insider2004 30. Mär 2007 10:01

Re: Probleme mit Delphi 2007
 
1,4,7 kann ich bestätigen. Die Hilfe ist kaum besser als in Delphi 200x. Sehr ärgerlich. Schlüsselwörter werden einfach nicht gefunden, weil der Namespace nicht passt. Man muss immer den Unitnamen voranstellen. Sehr lustig, wenn man "Hilfe" benötigt. Was besonders nervt ist die VisualBasic und C#/C++-Hilfe, die man gar nicht sehen will.

mquadrat 30. Mär 2007 10:21

Re: Probleme mit Delphi 2007
 
Also nachdem die neue Hilfe in den Blogs so gefeiert wurde, hatte ich mir auch mehr erhofft. Man ist immernoch weit vom alten Informationsgehalt entfernt. Siehe-Auch-Punkte, die nicht verlinkt sind und mehrfach in der Liste stehen sind recht häufig. Da sollte man definitiv nochmal nacharbeiten, oder wie bei php schlicht eine Online-Hilfe mit Kommentarfunktion anschaffen.

Ein Speicherleck ist definitiv drin. Ich kann allerdings nicht sagen, ob es in der Hilfe oder in der IDE ist. Bis ich den Thread gelesen habe, dachte ich es wäre irgendwo in der IDE. Ich habe ein Altprojekt Unit für Unit in ein 2007er überführt. Sprich immer die Units hinzugenommen, die der Compiler angemeckert hat. Habe dabei insgesamt vier oder fünfmal den Rechner neugestartet bei ca. 100 Units.

Ein weiteres Manke ist, dass das Schließen von Units in der IDE teilweise ziemlich lang dauert. Keine Ahnung, was die IDE da so alles macht.

Da ich dieses Projekt nicht in die 2006er Version importiert hab, kann ich keine Vergleichswerte angeben. Ein Vergleich mit Versionen < 2005 verietet sich aufgrund der neuen IDE ja sowieso.

hanspeter 30. Mär 2007 10:44

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von Daniel
Zume Thema Formular & ShowMessage:
Auch ich konnte das nicht nachvollziehen. Dennoch gab es Änderungen in diesem Bereich, um die Vista-Kompatibilität herzustellen. Was hast Du beispielsweise mit "Application.MainFormOnTaskbar" gemacht?

Ich selber garnichts. (Die Hilfe kennt dieses Ereignis übrigens nicht.)
Es hätte sein können, das ein Kauftool (z.B. TMSMenue) in Frage kommt.
Da habe ich aber alle Quellen absuchen lassen, das Property wird nirgends verwendet.
Ich habe hier neben meinem Rechner mit D2006, den Rechner meines Auftraggebers mit Vista und D2007 stehen.
Unter D2006 kompiliert die Anwendung problemlos, kopiere ich die Quelle auf den Vistarechner, dann tritt nach dem Compilieren
mit D2007 der Fehler auf. Das unabhängig davon ob ich Showmessage verwende oder ob es sich um eine Message in irgendeinem Kauftool handelt.
Ich habe versucht das in einem eigenen kleinen Projekt nachzustellen aber da kann ich den Fehler nicht erzeugen.
Im Projektkontext habe ich jetzt nur ein Hauptfenster (MDI) offen.
In diesem Fenster habe ich einen Button mit der Funktion:

showmessage('Start');
DruckeErgebnis(Self,8);

In DruckeErgebnis
Delphi-Quellcode:
 Dialogs.Showmessage('Create');
  With TFrmErgList.Create(aParent) do
  Begin
    Dialogs.Showmessage('Fehler');
    Init(aPrfgID);
    ShowModal;
    Free;
  end;
Den Namenspace "Dialogs" habe ich probeweise vorgesetzt, ändert aber nichts.
'Create' wird noch angezeigt, 'Fehler' erzeugt den Absturz.

Danke für den Tip mit der Registry, da hätte ich auch selber drauf kommen können aber das Programm muß morgen früh auf gesponserten Vistarechnern zu einer Veranstaltung laufen.
Ich hüpfe vor Wut nur noch hoch und runter, mehr als ein Termin geplatzt und nur weil ich statt die eigentlichen Probleme zu lösen mich tagelang mit Unzulänglichkeiten des Entwicklungssystems herumschlagen muß.

Gruß Peter

richard_boderich 31. Mär 2007 09:08

Re: Probleme mit Delphi 2007
 
@ hans peter

mit dem vista kopierbug koennte es nicht zusammenhaengen?

hanspeter 31. Mär 2007 20:57

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von richard_boderich
@ hans peter

mit dem vista kopierbug koennte es nicht zusammenhaengen?

Sorry,
habe ich noch nichts von gehört ?

Gruß
Peter

richard_boderich 1. Apr 2007 07:56

Re: Probleme mit Delphi 2007
 
http://www.golem.de/0703/51434.html

Drecktrah 22. Mai 2007 15:05

Re: Probleme mit Delphi 2007
 
Hallo,

das alles kann ich deshalb nicht bestätigen, weil ich nach der Deinstallation von D2007 und bei dem Versuch der erneuten Installation die Fehlermeldung "Invalid serial number" kriege. Habe schon den Codegear Support angemailt, aber no response... Ist also erst mal nix mit Delphi. CGLM.INI gibt's übrigens nicht auf meinem Rechner.

Gruß aus Hannover
Friedhelm

Insider2004 22. Mai 2007 21:50

Re: Probleme mit Delphi 2007
 
Lösche das Codegear-Verzeichnis komplett:

C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\CodeGear

Dann neu installieren und neu registrieren.

matmok 7. Mai 2008 13:27

Re: Probleme mit Delphi 2007
 
Zitat:

Das Delphi sich nicht fehlerfrei beenden lässt, daran habe ich mich gewöhnt
Viele allgemeine Probleme wie z.B. das oben erwähnte hat seine Ursache nicht in der IDE selbst, sondern in den installierten Komponenten. Auch ein angeblich langsames Starten der IDE ist darauf zurück zu führen. Leider ist es nicht erkennbar dass es an den Komponenten liegt, weil die Fehlermeldungen praktisch keine nutzbare Aussage haben, z.B. "ZV in irgendwas.dll...".
Eine Neuinstallation der IDE bring daher meist nichts.
Im RAD Studio 2007 gibt es einen interessanten Startparameter: Startet man mit -r, also z.B. mit "BDS.exe -rMeinNeuerKey" so startet BDS unter diesem neuen sauberen Registry key "MeinNeuerKey". Der Start der IDE ist schnell, beim Beenden gibt es keine Fehlermeldungen. Wenn man nun den Standard-RegKey exportiert und auch diesen neuen Key und diese vergleicht, so sieht man welche Einträge alle aus Komponenteninstallationen resultieren. Erschreckend daran ist z.B. dass JEDI nach einer Deinstallation dort noch zu finden ist. Auch findet man Pfade die man nicht vermutet hätte.

Meine Meinung ist, dass viele Probleme die man voreilig der IDE oder dem Compiler/Linker zuordnet ihre Ursache eigentlich im falschen Umgang mit Komponenten haben. Das liegt auch an dem undurchsichtigen Mechanismus wie Borland die Komponenten verwaltet. Deshalb habe ich diese Frage ins Forum gestellt: Fehlerfreie Installation von Komponenten...

Vielleicht kann ja jemand etwas Licht ins Dunkel bringen.

Häufig auftretende, sporadische und nicht lokalisierbare Fehler entmutigen und verärgern viele User. Die eigentlich gute Entwicklungsumgebung steht ohne eigenes Verschulden schlecht da. CodeGear sollte vielleicht den Komponenten-Mechanismus intuitiver und einfacher gestalten.

mfg,
Matmok (BCB6, RAD STUDIO 2007, WinXP)

hanspeter 7. Mai 2008 13:48

Re: Probleme mit Delphi 2007
 
Zitat:

Zitat von matmok
Häufig auftretende, sporadische und nicht lokalisierbare Fehler entmutigen und verärgern viele User. Die eigentlich gute Entwicklungsumgebung steht ohne eigenes Verschulden schlecht da. CodeGear sollte vielleicht den Komponenten-Mechanismus intuitiver und einfacher gestalten.

An der IDE wird es wohl auch mit liegen.
Ganz neue Erfahrung.
Ich habe Delphi in einer VM unter XP mit einer ganzen Reihe Komponenten fehlerfrei laufen.
Hostsystem ist Vista 64.
Da die VM doch etwas unhandlich ist, wenn es schnell gehen soll, habe ich Delphi unter Vista 64 neu installiert und
die gleichen Komponenten wie in der VM installiert.
Ohne das ich auch nur eine Zeile eigenen Code übersetzt habe, kommt beim Beenden von Delphi bereits eine Speicherschutz-
verletzung in der RTL100.
Ich meine das der Fehler nach der Installation von VirtualstringTree erstmalig auftrat.
Ich verwende das Hydra-Pluginsystem und muss deshalb 4 Laufzeitbibliotheken verwenden.
Diese 4 Bibliotheken ziehen einen Wust von weiteren etwa 30 Bpl nach sich, die jetzt ebenfalls Laufzeitbibliotheken sein
müssen.
Ich arbeite mit Firebird und IBDAC und habe nicht ein einziges Table in dem Programm. Warum bei den benötigten
Laufzeitbibliotheken jetzt aber noch die BDE dabei sein muss, ist mir ein Rätsel.

Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.

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