Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Einbinden von Units unterbinden (https://www.delphipraxis.net/197921-einbinden-von-units-unterbinden.html)

EWeiss 19. Sep 2018 05:42


Einbinden von Units unterbinden
 
Ich habe 4 Suchpfade die addiert werden.
  1. ..\KVideoPlayer64\DirectX9
  2. ..\KVideoPlayer64\DSPack
  3. ..\KVideoPlayer64\EVMRPlayer
  4. ..\KVideoPlayer64\GDIP

Im ersten werden die DirectX Header hinzugefügt.

Im zweiten das DSPack.

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.

gruss

KodeZwerg 19. Sep 2018 06:11

AW: Einbinden von Units unterbinden
 
Besteht die Möglichkeit DSpack zu editieren, und zwar so?
Delphi-Quellcode:
Uses IrgendEineDirectXUnit in 'C:\blabla\NutzeUnitX.pas';


Ps:
Wenn Du so alle DX-Units in der DPR deklarierst, sollten auch diese genommen werden so weit ich mich erinnern kann.

EWeiss 19. Sep 2018 06:24

AW: Einbinden von Units unterbinden
 
Zitat:

Zitat von KodeZwerg (Beitrag 1413535)
Besteht die Möglichkeit DSpack zu editieren, und zwar so?
Delphi-Quellcode:
Uses IrgendEineDirectXUnit in 'C:\blabla\NutzeUnitX.pas';


Ps:
Wenn Du so alle DX-Units in der DPR deklarierst, sollten auch diese genommen werden so weit ich mich erinnern kann.

Nee so was mache ich nicht! :)

Das Problem ist generell die Header werden durcheinander gewürfelt.
Einmal werden diese vom Suchpfad verwendet und dann wieder vom "rtl/win"

Helfe mir jetzt damit das ich den Suchpfad entferne und die Units direkt zum Projekt addiere.
Was für ein Schmarrn..

gruss

hoika 19. Sep 2018 06:38

AW: Einbinden von Units unterbinden
 
Hallo,
Zitat:

Helfe mir jetzt damit das ich den Suchpfad entferne und die Units direkt zum Projekt addiere.
Das wäre jetzt auch meine Empfehlung gewesen.
DPR-Suchpfade haben Vorrang.

KodeZwerg 19. Sep 2018 06:40

AW: Einbinden von Units unterbinden
 
Also wenn Du das Alias so wie ich zeigte in der DPR aufbaust, sollten im Kompilat auch nur diese enthalten sein.
So mach ich es auch ab und zu bei Namen die Doppelt sind wo ich sicherstellen möchte das Unit aus PfadX fürs Projekt genommen wird.

edit
Huch, da kam gar kein roter Text, sorry.

EWeiss 19. Sep 2018 07:26

AW: Einbinden von Units unterbinden
 
Zitat:

Zitat von hoika (Beitrag 1413538)
Hallo,
Zitat:

Helfe mir jetzt damit das ich den Suchpfad entferne und die Units direkt zum Projekt addiere.
Das wäre jetzt auch meine Empfehlung gewesen.
DPR-Suchpfade haben Vorrang.

Scheinbar nicht denn das ist ja mein Problem!

Suchpfad addiert Header von Emba werden benutzt also aus dem Pfad "rtl/win"
Suchpfad entfernt Units direkt zum Projekt addiert, erst dann werden auch diese Units verwendet.
Oder was meinst du mit "DPR-Suchpfade"

Zitat:

Also wenn Du das Alias so wie ich zeigte in der DPR aufbaust, sollten im Kompilat auch nur diese enthalten sein.
Hallo hast du gelesen das ich die Units nun direkt zum Projekt addiere ?
Was willst du mehr.

gruss

TiGü 19. Sep 2018 07:35

AW: Einbinden von Units unterbinden
 
Auch wenn du es nicht lesen magst:
Am nachhaltigsten und zukunftssichersten wäre dennoch, wenn du auch die Winapi.Direct...-Header direkt verwendest.
Die paar Typen und Konstanten die da eventuell noch fehlen kann man in einer eigenen neuen Unit reinkopieren.
Es ist ein bisschen Umstellung, aber langfristig fährst du so besser.

EWeiss 19. Sep 2018 07:41

AW: Einbinden von Units unterbinden
 
Zitat:

Zitat von TiGü (Beitrag 1413548)
Auch wenn du es nicht lesen magst:

Wer sagt das?

Es bringt mir keinen Vorteil wenn diese fehlerhaft sind.
Deshalb meine Entscheidung.. in den von mir privat angelegten Headern kann ich wenigstens editieren um die Fehler zu beseitigen wenn gefunden.
Was ich nicht verstehe. Warum hat der Pfad von Emba Vorrang gegenüber meinen angelegten Suchpfad.
Wofür ist der wenn sich der von Emba zwischen schummelt.

Bevor die Frage aufkommt woran ich das erkenne das sie Fehlerhaft sind!
Die 32Bit Anwendung läuft einwandfrei mit den 32Bit Headern von DirectX.
Die 64Bit Anwendung nicht trotz eingebundenen 64Bit DirectX Headern von Emba oder denen von mir.

gruss

TiGü 19. Sep 2018 07:59

AW: Einbinden von Units unterbinden
 
Zitat:

Zitat von EWeiss (Beitrag 1413549)
Es bringt mir keinen Vorteil wenn diese fehlerhaft sind.

Aber im Direct3D9-Thread war die Problemursache doch genau verkehrt rum?
Die Winapi.Direct3D9-Unit war ok und die eigene nicht.

Zitat:

Zitat von EWeiss (Beitrag 1413549)
Was ich nicht verstehe. Warum hat der Pfad von Emba Vorrang gegenüber meinen angelegten Suchpfad.
Wofür ist der wenn sich der von Emba zwischen schummelt.

Ist möglicherweise der Suchpfad zu den Sourcen von Emba einfach weiter vorne in der Liste?
Wie weiter oben beschrieben ist die Verwendung durch in das Projekt ziehen (so dass die Units in der DPR) auftauchen der sinnvollste Weg.
Ich rate dennoch zur Umstellung, weil die DSPack-Version (je nach Quelle) sich wahrscheinlich darauf verlässt, dass die Emba-Header-Konvertierungen genommen werden.
So heißt es bspw. in diesem Fork (https://github.com/micha137/dspack-c...-for-delphinus), dass man die Emba eigenen Units nehmen soll.

Zitat:

DirectX headers are now provided with Delphi
don't use these units anymore
ganz unten stehts: https://github.com/micha137/dspack-c...r/src/DirectX9

EWeiss 19. Sep 2018 08:09

AW: Einbinden von Units unterbinden
 
Zitat:

Aber im Direct3D9-Thread war die Problemursache doch genau verkehrt rum?
Die Winapi.Direct3D9-Unit war ok und die eigene nicht.
Da ging es auch um VRM9 und EVR diese verwenden IDirect3DSurface9
VRM7 aber DirectDraw, m_pDDSurface: IDirectDrawSurface7;

VMR9 und EVR funktionieren ja auch nach dem verweis auf die Header von Emba.
VMR7 hingegen nicht trotz 64Bit Header.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:25 Uhr.
Seite 1 von 5  1 23     Letzte »    

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