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 4 von 5   « Erste     234 5      
EWeiss
(Gast)

n/a Beiträge
 
#31

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.009 Beiträge
 
Delphi 12 Athens
 
#32

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
 
#33

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.009 Beiträge
 
Delphi 12 Athens
 
#34

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
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:12
Mal davon abgesehen das auch hier die falsche zu bearbeitende Datei geöffnet wird.
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

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.060 Beiträge
 
Delphi 10.4 Sydney
 
#37

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
EWeiss
(Gast)

n/a Beiträge
 
#38

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 10:44
In der Zeit hätte ich ja schon dreimal den "eigenen" zu verwendenden Units einen Präfix verpasst und alles per Suchen&Ersetzen gefixt.
Jo der Fehler ist aber dann immer noch vorhanden egal was du unternommen hättest.
Die Fehler in der IDE scheinen einige Leute nicht wirklich zu interessieren.
Klar kann man alles zurecht pfriemeln ist aber nicht der Sinn der Sache.

Meine Verwirrung entstand ja wegen dieser Probleme.

Zitat:
Mein Problem ist nun das vom DSPack die Header von Winapi.DirectShow9 und andere verwendet werden.
Das will ich aber nicht es sollen diese aus dem Suchpfad DirectX9 eingebunden werde.
Wie kann ich also unterbinden das die vom Pfad Rtl/win verwendet werden.

Warum wird der Mist aus dem Pfad Rtl/win verwendet wenn ich doch DirectX9 als Suchpfad addiert habe.
Es wird quasi alles durcheinander geworfen.
Das trotzdem die richtigen Dateien beim kompilieren verwendet werden sollte jetzt klar sein.
Destotrotz wird die falsche Datei zur Bearbeitung geöffnet.

Nebenbei..
Zitat:
"Deklaration suchen" oder mit Strg-Click jedoch die korrekte DirectDraw.
Haben bei mir mitunter überhaupt keine Auswirkung.. es passiert NIX wenn ich einen der beiden varianten verwende.
Es wird der Ausgelastete Cursor gezeigt das war es dann schon.

Für mich ist das Thema erledigt.. Danke! Das Ergebnis. Fehler in der IDE.

gruss

Geändert von EWeiss (19. Sep 2018 um 10:59 Uhr)
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#39

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 12:46
Hast du deine Units im "Browsing Path" (4. Eingabe in den Umgebungsoption) hinterelegt? Dieser ist dafür da, Dateien im Editor zu finden. Der Search Path zeigt ja normalerweise auf eine Dir mit den dcu's (lib). Der Browsing Path hat für den Editor immer Vorrang.

Ausserdem würde ich dir raten, deine Units gleich zu benennen wie die von Delphi. So hast du auch keine Probleme mit Sourcen, die WinApi.X in der uses drin haben. Diese nutzen dann auch deine Versionen. Wenn deine Units aber ohne WinApi vorliegen, wird von allen Untis, in denen Winapi.X steht die Delphi Version verwendet und nicht deine.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#40

AW: Einbinden von Units unterbinden

  Alt 19. Sep 2018, 13:01
Wie ich schon sagte ich suche keinen Workaround den habe ich.
Das Problem muss in der IDE gefixt werden.
Mehr gibt es da nicht mehr zu sagen.

Und nein ich werde meine Units nicht gleich System Units benennen.
Ich bzw. Der User soll diese unterscheiden können.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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 00:03 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