Frage

Ich habe ein problem.Ich ll versuchen, es zu erklären.

Ich habe eine Einheit, die hat eine Klasse und kann neue Funktionen.

D3BF4E849ACC45249B990F802EFB1F15\UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E\UnitFile1.pas

Beide haben dieselbe Klasse:IClass_1 = - Klasse

Im mit code-Nummern für verschiedene Versionen dieser Datei.

Ein weiteres unit-Datei (UnitFile2.pas) verwendet, die unit-Datei (UnitFile1.pas).

Auch, second-unit-Datei (UnitFile2.pas) hat verschiedene Versionen.

F94C439C822E490DB228F2C16EF2C190\UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF\UnitFile2.pas

Beide haben dieselbe Klasse:IClass_2 = class(IClass_1)

Nun problem beginnt;

"F94C439C822E490DB228F2C16EF2C190\UnitFile2.pas" muss "D3BF4E849ACC45249B990F802EFB1F15\UnitFile1.pas"

"14CEEFAFF1D64DDD8CBDEDD334D4A3FF\UnitFile2.pas" muss "8DC8977E7A7B469AACFE3CC77CA7075E\UnitFile1.pas"

Aber die Dateinamen sind die gleichen (ich brauche ein system wie dieses.So sind Sie gleich).Und in der unit-Datei, delphi lässt mich nicht zu schreiben, wie, dass;

In der Datei F94C439C822E490DB228F2C16EF2C190\UnitFile2.pas;verwendet UnitFile1 in 'D3BF4E849ACC45249B990F802EFB1F15\UnitFile1.pas';

Ich hoffe, ich könnte sagen, mein problem.Wie kann ich dem compiler die unit-Datei, die ich verwenden möchten mit Ihr Weg?(Im Einsatz der Delphi-7)

War es hilfreich?

Lösung

Geben Sie Ihren unit-Namen UNTERSCHIEDLICHE Namen, dann können Sie schließen Sie einfach beide Geräte im Projekt.

Verwenden Sie dann ein unit-alias in Ihrem Projekt Optionen zum erstellen eines "virtuellen Einheit-Namen", die löst die eine oder andere dieser tatsächlichen Einheiten.In Einheiten, die "Nutzung" der eine oder andere von diesen verweisen durch die Einheit alias - die "virtuellen Namen".

z.B.in der dpr:

  uses
    ...
    UnitFile1a in '....\UnitFile1a.pas',
    UnitFile1b in '....\UnitFile1b.pas',
    ...

In Ihre Einheiten:

   uses
     UnitFile1;

In Ihrem "Projekt-Optionen" eine Einheit alias, der entweder:

   UnitFile1=UnitFile1a

ODER

   UnitFile1=UnitFile1b

Sie können dann erstellen Sie Ihr Projekt mit dem "UnitFile1?" Einheit geeignet einfach durch ändern der unit-alias.

Andere Tipps

Sie haben Ihr Projekt Optionen konfigurieren, dass die „D3BF4E849ACC45249B990F802EFB1F15“ zu setzen und „F94C439C822E490DB228F2C16EF2C190“ in den Suchpfaden. Sie können nicht die Einheit Pfade im Code angeben.

Ich bin nicht sicher, ob dies das Problem löst, aber es ist das Konzept der Namensräume, die Sie Punkte in Einheits Namen wie diese setzen kann:

Anstatt in verschiedenen Verzeichnissen die gleichen Dateinamen mit ...

D3BF4E849ACC45249B990F802EFB1F15 \ UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E \ UnitFile1.pas

F94C439C822E490DB228F2C16EF2C190 \ UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF \ UnitFile2.pas

Sie können einen Dateinamen Präfix verwenden:

D3BF4E849ACC45249B990F802EFB1F15.UnitFile1.pas 8DC8977E7A7B469AACFE3CC77CA7075E.UnitFile1.pas

F94C439C822E490DB228F2C16EF2C190.UnitFile2.pas 14CEEFAFF1D64DDD8CBDEDD334D4A3FF.UnitFile2.pas

Sie können dann die vollständigen Dateinamen in der uses-Klausel verwenden, z.

uses
  D3BF4E849ACC45249B990F802EFB1F15.UnitFile1;

Ja, das funktioniert mit Delphi 7.

Soweit ich weiß, kann man nicht hinzufügen, zwei Einheiten mit dem gleichen Namen zu einem Projekt.

Sie können den richtigen Ordner mit den Projektoptionen hinzufügen, oder Sie können die erforderlichen Einheiten an die ‚View - Project Manager‘ hinzufügen Bildschirm (Rechtsklick auf den Projektnamen, und wählen Sie ‘ Add '. Wählen Sie die richtige Einheit in den richtigen Ordner , und als auf Sie nur den Namen der Einheit in jeder Form und andere Einheit in Ihrem Projekt verwenden können .

Warum Sie würde eine solche kryptische Ordnernamen verwenden, ist mir wirklich. Ich kann nicht glauben, jeder, jeder Grund, warum Sie dies tun wollen würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top