AGB  ·  Datenschutz  ·  Impressum  







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

Einbinden von Units unterbinden

Ein Thema von EWeiss · begonnen am 19. Sep 2018 · letzter Beitrag vom 19. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2      
Schokohase
(Gast)

n/a Beiträge
 
#1

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:36
@Uwe Raabe

Das ist aber nicht die Ursache für dieses Problem.

Bei Unit-Gültigkeitsbereichsnamen ist u.a. der Eintrag Winapi enthalten.
Wird jetzt die Unit DirectDraw über den Suchpfad gesucht, dann wird erst nach Units mit dem Namen Winapi.DirectDraw gesucht und ja auch gefunden, die aber gar nicht gewollt sind. Erst wenn keine Winapi.DirectDraw gefunden würde, dann würde nur nach DirectDraw gesucht.

Benennt man die modifizierte Unit aber nach Winapi.DirectDraw um, dann wird diese auch gefunden und verwendet.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:39
@Emil

Du sollst das Beispiel-Projekt in der Konfiguration RoutedDirectX9mod erzeugen und ausführen. Dann - und nur dann - wirst du sehen, dass die DirectDraw aus dem Ordner .\DirectX9mod verwendet wurde.

Nochmal: Nur beim Ausführen wirst du es sehen!
Nochmal: Nur beim Ausführen wirst du es sehen! - Nicht in der IDE

Zeigst du mir zum Beweis jetzt wieder Screenshots von der IDE ... dann lies es bitte nochmal

Geändert von Schokohase (19. Sep 2018 um 09:43 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:45
@Emil
Ziegst du mir zum Beweis Screenshots von der IDE ... dann lies es bitte nochmal
Ich verstehe was du meinst.
Aber genau darum geht es mir um nichts anderes.

Mein Unverständnis ist folgendes..

Wenn ich debugge und möchte eine Unit aus meinem Pfad öffnen was tue ich? Richtig ich klicke auf den Namespace und sage Datei beim Cursor öffnen.

Nun und du glaubst das ist normal wenn dann die falsche geöffnet wird?
Darum geht es mir um nichts anderes.. welche Unit letztendlich wirklich beim Kompilieren verwendet wird mag mal dahingestellt sein.
Wenn ich Anfänger wäre dann würde ich schon alleine daran verzweifeln weil immer die FALSCHE Unit geöffnet wird.
Stell dir vor man achtet nicht darauf und fängt dann an diese Unit zu bearbeiten.

gruss

Geändert von EWeiss (19. Sep 2018 um 09:49 Uhr)
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:49
@Emil

Da bin ich ganz nah bei dir.

Ja, die IDE verhält sich da sehr seltsam und das gehört behoben.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:55
@Emil

Da bin ich ganz nah bei dir.

Ja, die IDE verhält sich da sehr seltsam und das gehört behoben.
OK!

Das ist mein Problem mit dem ich bzw.. Anfänger dann zu kämpfen haben.
Wie gesagt man kann das ändern indem man wie du sagst die Eigene Unit umbenennt bsp. WinApi.DirectDraw.
Aber das Problem ist dann man verwendet System spezifische Unit Namen
ob das so gut rüber kommt und dann nicht auch wieder zu Konflikten führt habe ich nicht getestet.

Ansonsten gebe ich dir recht es wird beim Kompilieren die richtige Unit verwendet..
Es ist aber definitiv die Falsche die beim klick auf Datei öffnen zur Bearbeitung geöffnet wird.

gruss

Geändert von EWeiss (19. Sep 2018 um 10:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 09:58
Bei Unit-Gültigkeitsbereichsnamen ist u.a. der Eintrag Winapi enthalten.
Wird jetzt die Unit DirectDraw über den Suchpfad gesucht, dann wird erst nach Units mit dem Namen Winapi.DirectDraw gesucht und ja auch gefunden, die aber gar nicht gewollt sind. Erst wenn keine Winapi.DirectDraw gefunden würde, dann würde nur nach DirectDraw gesucht.
Nein, das stimmt so nicht. Steht in der uses ein DirectDraw, dann wird erst im Projektverzeichnis und dann in den Suchpfaden nach DirectDraw gesucht. Erst wenn dabei keine Unit gefunden wurde, werden die Unit-Gültigkeitsbereichsnamen durchprobiert (siehe beiliegendes Projekt).
Angehängte Dateien
Dateityp: zip Suchpfade.zip (4,6 KB, 7x aufgerufen)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:03
Bei Unit-Gültigkeitsbereichsnamen ist u.a. der Eintrag Winapi enthalten.
Wird jetzt die Unit DirectDraw über den Suchpfad gesucht, dann wird erst nach Units mit dem Namen Winapi.DirectDraw gesucht und ja auch gefunden, die aber gar nicht gewollt sind. Erst wenn keine Winapi.DirectDraw gefunden würde, dann würde nur nach DirectDraw gesucht.
Nein, das stimmt so nicht. Steht in der uses ein DirectDraw, dann wird erst im Projektverzeichnis und dann in den Suchpfaden nach DirectDraw gesucht. Erst wenn dabei keine Unit gefunden wurde, werden die Unit-Gültigkeitsbereichsnamen durchprobiert (siehe beiliegendes Projekt).
Was macht das Projekt?
Bei mir nichts, was vergessen?
Mal davon abgesehen das auch hier die falsche zu bearbeitende Datei geöffnet wird.

Delphi-Quellcode:
program TestProject;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  DirectDraw;

begin
  try
    { TODO -oUser -cConsole Main : Code hier einfügen }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
gruss

Geändert von EWeiss (19. Sep 2018 um 10:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:09
Was macht das Projekt?
Bei mir nichts, was vergessen?
Es macht wirklich nichts, aber im Meldungsfenster sollte die Meldung "Hurz" auftauchen, wenn die DirectDraw aus dem Subfolder compiliert wird. Würde die WinApi.DirectDraw verwendet, käme die Meldung nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:13
Was macht das Projekt?
Bei mir nichts, was vergessen?
Es macht wirklich nichts, aber im Meldungsfenster sollte die Meldung "Hurz" auftauchen, wenn die DirectDraw aus dem Subfolder compiliert wird. Würde die WinApi.DirectDraw verwendet, käme die Meldung nicht.
Das wird wohl so sein.

Aber es geht nicht um das Kompilieren welche Datei da genommen wird.
Das hat seine Richtigkeit.
Es geht mir um die zu Bearbeitende Datei.. welche mit rechtsklick auf Namespace (Datei beim Cursor öffnen) geöffnet wird.
Es ist nicht diese die du im Suchpfad angegeben hast.

Zitat:
Interessant ist hierbei, daß zwar bei "Datei beim Cursor öffnen" die Winapi.DirectDraw geöffnet wird, bei "Deklaration suchen" oder mit Strg-Click jedoch die korrekte DirectDraw.
Nun die frage ist würde dich das als Anfänger nicht auch sehr verwundern?
Für mich ist das ein ganz klarer BUG innerhalb der IDE.

Zitat:
"Deklaration suchen" oder mit Strg-Click jedoch die korrekte DirectDraw.
Schon seltsam das ist korrekt! OK! Fails in der IDE das ist Fakt!

PS:
Hat lange gedauert bis man verstanden hat was ich meinte

gruss

Geändert von EWeiss (19. Sep 2018 um 10:20 Uhr)
  Mit Zitat antworten Zitat
TiGü

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

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:38
In der Zeit hätte ich ja schon dreimal den "eigenen" zu verwendenden Units einen Präfix verpasst und alles per Suchen&Ersetzen gefixt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:16 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