AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi DCU <> OBJ, oder wie kompiliere ich eine DCU?
Thema durchsuchen
Ansicht
Themen-Optionen

DCU <> OBJ, oder wie kompiliere ich eine DCU?

Ein Thema von Der Jan · begonnen am 12. Jan 2006 · letzter Beitrag vom 12. Jan 2006
Antwort Antwort
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#1

DCU <> OBJ, oder wie kompiliere ich eine DCU?

  Alt 12. Jan 2006, 10:19
Erstmal sorry für den Titel, aber mir fällt nix besseres ein.

Der Sachverhalt... ich habe eine C-Library, die ich in Delphi importiert habe. Hierzu habe ich die C-Library compiliert, eine Unit "LibBCDelphi" geschrieben, in der die nötigen Konstanten, Funktionsheader etc. definiert und die von C-Compiler erzeugten Objekt-Files reingelinkt werden und noch eine Unit "LibDelphi" geschrieben, in dieser werden quasi Delphi-Adäquate für die von den C-Objektfiles benötigten Funktionen aus der C-Runtime-Library implementiert. LibDelphi wird in LibBCDelphi mittels "uses" eingebunden.
Hört sich kompliziert an, funktioniert aber Inklusive Testprogramm in Delphi usw.

Jetzt zu meinem Problem: Die Unit LibBCDelphi soll jetzt in weiteren Projekten genutzt werden, also hab ich die LibBCDelphi.dcu ins Projektverezichnis kopiert, wollte mutig kompilieren und... Mistikacki

[Fataler Fehler] LSS.dpr(9): Unit LibBCDelphi wurde mit einer unterschiedlichen Version von LibDelphi.strdup compiliert Also LibDelphi.dcu mit rein ins Verzeichnis, Ergebnis bleibt das selbe.
Erst wenn ich alle Files, die für die Erzeugung von LibBCDelphi/LibDelphi nötig sind (pas, obj) einbinde bzw. das Verzeichnis, wo diese stehen, für Delphi bekanntmache, läßt sich das Projekt kompilieren.

Es soll aber reichen, die DCU ohne Source weiterzugeben (z.B. an externe Partner, die das Teil auch nutzen sollen). Was kann ich da tun?

Ich hoffe, ihr konnten meinen, zugegebenermaßen, leicht wirren Ausführungen folgen.
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DCU <> OBJ, oder wie kompiliere ich eine DCU?

  Alt 12. Jan 2006, 10:27
Zitat von Der Jan:
Es soll aber reichen, die DCU ohne Source weiterzugeben (z.B. an externe Partner, die das Teil auch nutzen sollen). Was kann ich da tun?
Du mußt auf jedenfall für jede Delphi-Version eine mit der passenden Delphi-Version kompilierte Version bereitstellen.
Aber die Frage ist: Dein Knowhow liegt ja "verschlüsselt" in der C-Objektdatei. Was für probleme hast Du damit die "Delphi-Header-Datei" als Sourcen mitzugeben?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#3

Re: DCU <> OBJ, oder wie kompiliere ich eine DCU?

  Alt 12. Jan 2006, 13:13
Zitat von Bernhard Geyer:
Dein Knowhow liegt ja "verschlüsselt" in der C-Objektdatei. Was für probleme hast Du damit die "Delphi-Header-Datei" als Sourcen mitzugeben?
Nun, die C-Lib bildet nur die Grundlage, die Delphi-Units bauen darauf auf, also es sind nicht nur reine Header-Dateien. Aber der Hauptgrund ist, das es einfacher und "traffic-schonender" ist, mal ein oder zwei DCUs weiterzugeben, als ein ganzes Bündel recht umfangreicher Sourcen. Und die Partner hängen auch nicht mit am VCS...

Aber das wichtigste: Problem gelöst !
Es gibt da einen Import der LibTiff in Delphi und der Autor war genauso schlau, seinen "C-RTL-Clone" LibDelphi zu nennen Da diese Lib noch im Lib-Pfad stand, hat er diese genommen, statt meiner und das war das ganze Problem

Trotzdem noch ne Frage: Gibt es eine Option/Möglichkeit, eine DCU, wie ein meinem Fall die LibDelphi, komplett in eine andere reinzukompilieren, so daß man sie garnicht mehr als separates File braucht?
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: DCU <> OBJ, oder wie kompiliere ich eine DCU?

  Alt 12. Jan 2006, 13:32
Zitat von Der Jan:
Trotzdem noch ne Frage: Gibt es eine Option/Möglichkeit, eine DCU, wie ein meinem Fall die LibDelphi, komplett in eine andere reinzukompilieren, so daß man sie garnicht mehr als separates File braucht?
Jede *.pas Datei erzeugt eine *.dcu Datei, wenn Du nur eine *.dcu Datei haben willst, mußt Du alles in eine Pas Datei packen. Diese kompilieren und weitergeben.
(Falls externe Dateien eingebunden werden (*.res, *.dfm, *.obj) müssen die auch mitgegeben werden.)
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  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 03:44 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