AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...
Thema durchsuchen
Ansicht
Themen-Optionen

Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

Ein Thema von Delbor · begonnen am 17. Sep 2019 · letzter Beitrag vom 18. Sep 2019
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 17. Sep 2019, 15:28
Delphi-Version: 10.2 Tokyo
Hi zusammen

Um in meinem aktuellen Projekt SQLite-Tabellen anzulegen, wollte ich in früheren Projekten nachsehen, wie ichs da gemacht habe. Eines dieser Projekte verwendet das Synedit. Und dieses widerum eine Klasse TBetterregistry, die von TRegistry abgeleitet ist.
Auf meiner Suche bin ich nun auf folgenden Code gestossen:
Delphi-Quellcode:
  {$IFNDEF SYN_COMPILER_4_UP}
  TBetterRegistry = class(TRegistry)
    function OpenKeyReadOnly(const Key: string): Boolean;
  end;
  {$ELSE}
  TBetterRegistry = TRegistry;
  {$ENDIF}
Der Witz daran ist: Das TRegistry in der Klassendeklaration (Zeile 1) wird nicht angemeckert, jenes zwischen {$ELSE} und {$ENDIF} aber schon, und der Compilierungsvorgang bricht mit einer Fehlermeldung ab ([dcc32 Fehler] SynEditMiscClasses.pas(388): E2003 Undeklarierter Bezeichner: 'TRegistry').
Was ist da falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 17. Sep 2019, 15:30
Dann scheint
Code:
SYN_COMPILER_4_UP
definiert zu sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 17. Sep 2019, 15:50
Und bitte das nächste mal einen aussagekräftigeren Titel!
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 17. Sep 2019, 16:34
Hi mkinzler
Dann scheint
Code:
SYN_COMPILER_4_UP
definiert zu sein.
Und was bedeutet das? Das die nicht angemeckerte Zeile gar nicht abgearbeitet wird und somit auch nicht zu einem Comppilerfehler führen kann? Könnte ich so durchaus nachvollziehen.
Andrerseits - TRegistry ist eine gültige Klasse...

In diversen Uses-Abschnitten hab ich nun folgendes geändert:
Delphi-Quellcode:
  System.Win.Registry,
// Registry,
Es gab noch einige andere Fehler - ich hatte einen Frame entfernt, aber offensichtlich die *.dcu nicht. Nun läuft das Programm wieder.

Und bitte das nächste mal einen aussagekräftigeren Titel!
Sorry, Luckie, aber nachdem mir diese Betterregistry, bzw TRegistry, schon vor Jahren Probleme bereitete, deren Ursache ich lange nicht fand, blieb mir eigentlich nur noch, das ganze von der humoristischen Seite zu sehen. Ichwerde mich aber nach bestem Wissen und Gewissen bessern.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (17. Sep 2019 um 16:36 Uhr) Grund: Grammatik verbessert
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 18. Sep 2019, 08:21
Dir ist schon klar, dass die Problemursache die Unit-Präfixe waren?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#6

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 18. Sep 2019, 08:29
Dir ist schon klar, dass die Problemursache die Unit-Präfixe waren?
In der Tat! Leider verwenden immer noch eine ganze Reihe von Bibliotheken die alten Non-Prefix Unit-Namen, vermutlich aus Kompatibilitätsgründen oder einfach aus Bequemlichkeit. Das hat allerdings den Nachteil, daß jedes Projekt, das diese Bibliotheken im Source verwendet, einen passenden Eintrag für die Unit-Gültigkeitsbereichsnamen braucht - obwohl das eigentliche Projekt diese gar nicht benötigen würde. Dummerweise kann das aber die Compilierzeiten und das CodeInsight verlangsamen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 18. Sep 2019, 11:06
Hi Uwe Raabe
Dir ist schon klar, dass die Problemursache die Unit-Präfixe waren?
In der Tat! Leider verwenden immer noch eine ganze Reihe von Bibliotheken die alten Non-Prefix Unit-Namen, vermutlich aus Kompatibilitätsgründen oder einfach aus Bequemlichkeit. Das hat allerdings den Nachteil, daß jedes Projekt, das diese Bibliotheken im Source verwendet, einen passenden Eintrag für die Unit-Gültigkeitsbereichsnamen braucht - obwohl das eigentliche Projekt diese gar nicht benötigen würde. Dummerweise kann das aber die Compilierzeiten und das CodeInsight verlangsamen.
Das versteh ich jetzt so, dass ich diese Verlangsamung umgehen könnte, wenn ich sämtlich Uses-Listen mit den 'neuen' Unit-Präfixe ergänzen würde? Brr... Gerade beim Synedit eine Sysiphus-Arbeit, auch wnn ich mit einigen wenigen Highlitern auskomme(Pascal,HTML, CSS und Javascript ).

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.007 Beiträge
 
Delphi 12 Athens
 
#8

AW: Immer Ärger... Nö, nicht mit Harry,sondern dem Synedit...

  Alt 18. Sep 2019, 12:07
Brr... Gerade beim Synedit eine Sysiphus-Arbeit
Nicht, wenn man das angehängte Tool benutzt...
Angehängte Dateien
Dateityp: zip UsesCleaner.zip (415,5 KB, 20x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 05:39 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