AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Lösung: Das leidige Problem mit der DsgnIntf bzw. Proxy.dcu

Lösung: Das leidige Problem mit der DsgnIntf bzw. Proxy.dcu

Ein Tutorial von MaBuSE · begonnen am 9. Nov 2004 · letzter Beitrag vom 27. Mär 2007
Antwort Antwort
Seite 2 von 5     12 34     Letzte » 
Benutzerbild von MaBuSE
MaBuSE
Registriert seit: 23. Sep 2002
Das leidige Problem mit der DsgnIntf bzw. Proxy.dcu

In Delphi 5 Komponenten wird oft die Unit DsgnIntf verwendet.

Damit ist es möglich "Component-" und "Propertyeditoren" zu programmieren, die dann in der IDE ausgeführt werden. Diese Design-Editoren sind ausschließlich für die IDE lizenziert und dürfen nicht in die eigenen Programme, welche außerhalb der IDE laufen eingebunden werden. Da es einige Verstöße (meistens wohl aus Unwissenheit) gab, wurden die Units getrennt und durch "Compiler-Magic" können die Editoren jetzt nicht mehr in Programme außerhalb der IDE eingebunden werden.

Wenn keine Laufzeit-BPLs erstellt werden müssen, ist die Lösung relativ einfach:
Aus dem Eintrag DsgnIntf in der Uses Anweisung wird einfach DesignIntf, DesignEditors.

In das Package wird dann automatisch die teilweise benötigte designide.dcp eingefügt. Und alles läuft wieder.

Falls es dennoch zu der Fehlermeldung "DesignIntf.dcu konnte nicht gefunden werden" (oder "DesignEditors.dcu konnte nicht gefunden werden") auftritt, ist der Pfad (C:\Programme\Borland\Delphi7\Source\ToolsAPI)zu den Dateien nicht im Suchpfad.

Falls die Meldung "Proxy.dcu konnte nicht gefunden werden" auftritt, muss die designide.dcp dem Package hinzugefügt werden. (requires designide im dpk)

Damit sollten sich die Komponenten kompilieren lassen.

Abschließend ein Link zum BDN - wo etwas tiefer in die Materie eingegangen wird. (englisch)
http://community.borland.com/article...,27717,00.html


Quellcode für D5 und D7 erstellen
Mit einer einfachen $IFDEF kann man Quelltext erstellen, der unter Delphi 5 und Delphi 7 kompiliert.
Delphi-Quellcode:
{$ifdef ver150}
  DesignIntf, DesignEditors,
{$else}
  DsgnIntf,
{$endif}
Dieses einfache Verfahren hat aber den Nachteil, dass es nur zwischen Delphi 7 und dem Rest unterscheidet.

Besser ist folgendes Verfahren:

Bei der JCL bzw. JVCL gibt es eine JEDI.inc Datei die einfach eingebunden werden kann.
Hier werden Symbole definiert. (z.B. DELPHI6_UP bedeutet Delphi 6 oder neuer)

Delphi-Quellcode:
uses unit1;

{$I JEDI.inc}

interface

uses
  Unit1, {$IFDEF DELPHI6_UP}DesignIntf, DesignEditors{$ELSE} DsgnIntf{$ENDIF}, Unit3, Unit4;
...
Die JEDI.INC Datei kann hier bezogen werden:
http://cvs.sourceforge.net/viewcvs.p...1.19&view=auto
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
 
HavoC
 
#11
  Alt 17. Nov 2004, 17:38
Ich hab auch in D7 keinen ToolsAPI-Ordner ...
Da hilft auch das Update nichts
Brauch doch nur nen gescheiten Unicode-Handler :/
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

 
Delphi 10 Seattle Enterprise
 
#12
  Alt 17. Nov 2004, 17:49
Zitat von HavoC:
Ich hab auch in D7 keinen ToolsAPI-Ordner ...
Das ist der Inhalt des ToolsApi Verzeichnisses:
Code:
C:\Programme\Borland\Delphi7\Source\ToolsAPI>dir

 Volume in Laufwerk C: hat keine Bezeichnung.
 Volumeseriennummer: MAB-USE

 Verzeichnis von C:\Programme\Borland\Delphi7\Source\ToolsAPI

12.10.2004  09:35    <DIR>         .
12.10.2004  09:35    <DIR>         ..
23.08.2002  08:00             7.363 ClxDesignWindows.pas
23.08.2002  08:00            24.762 ClxEditors.pas
23.08.2002  08:00             7.904 ClxSprigs.pas
23.08.2002  08:00             1.979 DesignConst.pas
23.08.2002  08:00            90.415 DesignEditors.pas
23.08.2002  08:00            48.713 DesignIntf.pas
23.08.2002  08:00             5.057 DesignMenus.pas
23.08.2002  08:00             6.460 DesignWindows.pas
23.08.2002  08:00            29.968 EditIntf.pas
23.08.2002  08:00             6.534 ExptIntf.pas
23.08.2002  08:00             3.931 FileIntf.pas
23.08.2002  08:00             5.286 IStreams.pas
23.08.2002  08:00            14.609 PropertyCategories.pas
23.08.2002  08:00            26.086 ToolIntf.pas
23.08.2002  08:00           164.917 ToolsAPI.pas
23.08.2002  08:00            70.675 TreeIntf.pas
23.08.2002  08:00            45.121 VCLEditors.pas
23.08.2002  08:00             7.812 VCLSprigs.pas
23.08.2002  08:00             3.539 VcsIntf.pas
23.08.2002  08:00             1.694 VirtIntf.pas
              20 Datei(en)       572.825 Bytes
               2 Verzeichnis(se), 23.435.892.620.288 Bytes frei
Das ist der Baum
Code:
C:\Programme\Borland\Delphi7>tree /A

Auflistung der Ordnerpfade
Volumenummer: MAB:USE
C:.
+---Bin
|   +---Netscap3
|   +---Netscp35
|   +---Netscp36
|   \---Netscp41
+---Demos
|   +---ActionBands
|   |   +---AlphaBlendMenus
|   |   +---DynaActionBands
|   |   \---MRU
|   +---Actions
|   +---ActiveX
|   |   +---COM+Event
|   |   |   +---Event
|   |   |   +---Publisher
|   |   |   \---Subscriber
|   |   +---OleAuto
|   |   |   +---AutoCtrl
|   |   |   +---AutoServ
|   |   |   +---SrvComp
|   |   |   |   +---PowerPoint
|   |   |   |   \---Word
|   |   |   \---Word8
|   |   +---OleCtnrs
|   |   +---ShellExt
|   |   +---SvrExtra
|   |   \---TRegSvr
|   +---Ado
|   |   +---AdoTest
|   |   +---Briefcase
|   |   +---Rds
|   |   \---Shape
|   +---AppEvents
|   +---Clx
|   |   +---BasicEd
|   |   +---ClxExplorer
|   |   +---QuickStart
|   |   +---StopWatch
|   |   \---TextBrowser
|   +---ConvertIt
|   +---CoolStuf
|   +---Corba
|   |   \---Idl2Pas
|   |       +---Account DOS
|   |       +---Account GUI
|   |       +---Any
|   |       +---Arrays
|   |       +---Attributes
|   |       +---Callbacks
|   |       +---CosNaming40
|   |       +---EJB
|   |       |   \---euroconverter
|   |       |       \---Java
|   |       |           +---classes
|   |       |           |   +---currencyconverter
|   |       |           |   +---dependency cache
|   |       |           |   \---Generated Source
|   |       |           |       \---currencyconverter
|   |       |           \---src
|   |       |               \---currencyconverter
|   |       +---Event Service
|   |       |   +---Pull Demo
|   |       |   +---Push Demo
|   |       |   \---Templates
|   |       +---Exceptions
|   |       +---Midas XML
|   |       +---Multiple Inheritence
|   |       +---NestedModules
|   |       +---Sequences
|   |       +---Single Inheritence
|   |       +---Structs
|   |       \---Unions
|   +---Cpl
|   |   \---Date
|   +---CustomDraw
|   +---Db
|   |   +---BkQuery
|   |   +---CacheDup
|   |   +---CsDemos
|   |   +---CtrlGrid
|   |   +---DbErrors
|   |   +---DbxExplorer
|   |   +---Filter
|   |   +---FishFact
|   |   +---GdsDemo
|   |   +---IBDemo
|   |   +---IBMastApp
|   |   +---IBX
|   |   |   +---Admin
|   |   |   +---CachedUp
|   |   |   +---IBSilentInstall
|   |   |   +---IBXEvents
|   |   |   +---SQLMonitor
|   |   |   \---ThreadedIBX
|   |   +---MastApp
|   |   +---MtsPool
|   |   +---SQLClientDataset
|   |   \---TextData
|   +---DbClx
|   |   +---fishfact
|   |   +---frames
|   |   \---mybasexplorer
|   +---Demolbl
|   +---Doc
|   |   +---Filmanex
|   |   +---Graphex
|   |   \---TextEdit
|   +---Docking
|   +---EarthPng
|   +---Football
|   +---Frames
|   |   \---Db
|   +---ImagView
|   +---Indy
|   +---Internet
|   |   +---ApacheConfigEditor
|   |   +---ApacheDSO
|   |   |   +---Authentication
|   |   |   +---Authorization
|   |   |   +---DBModule
|   |   |   +---Hello
|   |   |   +---logging
|   |   |   \---ModuleInit
|   |   +---CGIs
|   |   |   +---demo_bin
|   |   |   +---demo_html
|   |   |   \---demo_src
|   |   |       +---PageProducerCGI
|   |   |       +---PortScanner
|   |   |       \---WebRequestCGI
|   |   +---NetChat
|   |   +---rexec
|   |   +---WebServ
|   |   |   +---Apache
|   |   |   \---IIS
|   |   +---XMLTransform
|   |   +---XMLTransformClient
|   |   +---XMLTransformParam
|   |   \---XMLTransformProvider
|   +---IntraWeb
|   |   +---Features
|   |   |   +---Downloads
|   |   |   +---Files
|   |   |   \---Templates
|   |   +---FishFact
|   |   +---FishFactDM
|   |   +---FormData
|   |   +---Guess
|   |   +---GuessWB
|   |   +---Phonetics Customer Profiler
|   |   |   +---Files
|   |   |   \---Templates
|   |   \---WebSnapSurvey
|   +---Ipcdemos
|   +---Midas
|   |   +---Activefm
|   |   +---AdHoc
|   |   +---Aggregate
|   |   +---Alchtest
|   |   +---Brfcase
|   |   +---EmpEdit
|   |   +---InternetExpress
|   |   |   +---CustomerList
|   |   |   +---InetXCenter
|   |   |   +---InetXCustom
|   |   |   \---TroubleShoot
|   |   +---Intrcpt
|   |   +---Login
|   |   +---MstrDtl
|   |   +---Pooler
|   |   +---SetParam
|   |   \---SharedConn
|   +---Oracle8
|   |   \---OrTypes
|   +---Ownerlst
|   +---PropEdit
|   +---Quickrpt
|   |   +---Qr2
|   |   \---Qr3
|   +---ResXplor
|   +---RichEdit
|   |   +---Deu
|   |   +---Enu
|   |   \---Fra
|   +---ShellControls
|   +---Swat
|   +---TeeChart
|   +---Threads
|   +---ToolsAPI
|   |   +---ActionServices
|   |   +---Editor Keybinding
|   |   |   \---Emacs
|   |   +---INTAServices
|   |   +---PackageDemo
|   |   \---XPAppWiz
|   +---Virtual Listview
|   +---WebServices
|   |   +---DBServer
|   |   +---EchoService
|   |   |   +---Client
|   |   |   \---Server
|   |   |       \---Data
|   |   +---IssuesSample
|   |   +---PostTool
|   |   +---SOAPAttachments
|   |   |   +---Client
|   |   |   \---Server
|   |   +---SOAPDataModule
|   |   |   +---Client
|   |   |   +---Data
|   |   |   \---Server
|   |   \---SOAPHeaders
|   |       +---client
|   |       \---server
|   \---WebSnap
|       +---ActionField
|       +---ActionFieldTest
|       +---BioLife
|       +---CountryEditor
|       +---CountryReport
|       +---DBExpress
|       +---DispHandlers
|       +---DumpModules
|       +---Images
|       +---ImgBtnCountryEditor
|       +---ImgBtnProducer
|       +---Include
|       +---InternetExpress
|       +---LocateFileService
|       +---MasterDetail
|       +---MinApp
|       +---PhotoGallery
|       +---ProducerTemplates
|       +---ScriptObject
|       +---ScriptObjectTest
|       +---SessionTest
|       +---SimpleAdapter
|       +---TestSvrInfo
|       +---Tutorials
|       +---Util
|       +---WebDispatcher
|       +---WebMail
|       +---XMLBiolife
|       +---XMLBuilder
|       \---XSLProducer
+---Doc
+---Help
|   +---Examples
|   |   +---BatchMv
|   |   +---BatchMv2
|   |   +---Bitmap
|   |   +---Combobox
|   |   +---Jpeg
|   |   +---Menu
|   |   +---Menu2
|   |   +---Prgrsbar
|   |   +---RegIni
|   |   +---Scrollba
|   |   +---TabCntrl
|   |   \---Update
|   +---IntraWeb
|   \---Tools
+---Imports
|   \---Idl
+---Lib
|   +---Debug
|   |   \---IDL45
|   +---Delphi2
|   \---IDL45
+---MergeModules
+---Objrepos
|   +---CLXMdiApp
|   +---IntraWeb
|   |   +---Apache
|   |   +---Apache2
|   |   +---AppForm
|   |   +---Icons
|   |   +---ISAPI
|   |   +---PageForm
|   |   +---StandAlone
|   |   \---StandAloneDM
|   +---LogoApp
|   +---MdiApp
|   +---SdiApp
|   \---Win2KApp
+---Ocx
|   +---Chartfx
|   +---Isp
|   +---Servers
|   \---Vci
|       +---Form1
|       +---Impress
|       \---VSpell
+---Projects
|   \---Bpl
+---Rave5
|   +---DataLinks
|   +---Demos
|   +---Help
|   +---Lib
|   \---Server
\---Source
    +---Clx
    +---Decision Cube
    +---Indy
    +---Internet
    +---IntraWeb
    +---Property Editors
    +---Rtl
    |   +---Common
    |   +---Corba45
    |   +---Sys
    |   \---Win
    +---Samples
    +---Soap
    +---ToolsAPI
    +---Vcl
    +---WebMidas
    +---WebSnap
    \---Xml
  Mit Zitat antworten Zitat
HavoC
 
#13
  Alt 17. Nov 2004, 19:23
das hilft mir nur recht wenig, weil mir das keine ToolsAPI bringt ^^
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

 
Delphi 10 Seattle Enterprise
 
#14
  Alt 17. Nov 2004, 19:54
Zitat von HavoC:
das hilft mir nur recht wenig, weil mir das keine ToolsAPI bringt ^^
Und die darf ich Dir auch nicht geben, weder die Sourcen, noch die kompilierte Version. (Lizenzbedingungen von Borland)

Aber evtl findet sich ja jemand, der Deine Komponenten kompiliert.
Die erzeugten *.bpl. *.dcu und *.dcp kannst Du dann in Delphi einbinden und benutzen.
Das funktioniert!

Oder noch besser, schau mal nach, ob Du die Datei designide.dcp hast.

Wenn Du die im required bei dem Package einträgst, braucht er die Dateien auch nicht. Siehe Tutorial.

ich schrieb im Tutorial
In das Package wird dann automatisch die teilweise benötigte designide.dcp eingefügt. Und alles läuft wieder.


Probier das mal bitte aus. Ich werde dann das Tutorial anpassen.
  Mit Zitat antworten Zitat
Benutzerbild von Qnkel
Qnkel

 
FreePascal / Lazarus
 
#15
  Alt 17. Nov 2004, 20:26
Hey die hab ich. Einfach mit einbinden und dann soll das funzen?!
  Mit Zitat antworten Zitat
Benutzerbild von Qnkel
Qnkel

 
FreePascal / Lazarus
 
#16
  Alt 17. Nov 2004, 20:33
Ich raff nich wo ich das bei der Komponente eintragen soll...
  Mit Zitat antworten Zitat
HavoC
 
#17
  Alt 18. Nov 2004, 06:10
die datei hab ich aber das package hat kein requires und ich weiß auch net so recht wohin damit :/

läuft das mit dem ToolsAPI Ordner von D6?
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

 
Delphi 10 Seattle Enterprise
 
#18
  Alt 29. Nov 2004, 11:54
Zitat von Qnkel:
Ich raff nich wo ich das bei der Komponente eintragen soll...
In der *.dpk Datei gibt es ein requires (wenn nicht anlegen )


Ich habe mal das Beispiel von Oben vervollständigt.

Die drei Dateien habe ich unten nochmal als Atachment gepostet.
Bitte mit Delphi 6 / 7 Personal ausprobieren und Feedback hier ins Forum.
Ich werde dann das Tutorial anpassen.

Datei: myLabel.pas (s.o.)
Datei: myLabel_dsgn.pas (s.o.)
Datei: Package1.dpk (s.u.)

Delphi-Quellcode:
package Package1;

{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD OFF}

requires
  rtl,
  designide;

contains
  myLabel_dsgn in 'myLabel_dsgn.pas',
  myLabel in 'myLabel.pas';

end.
Angehängte Dateien
Dateityp: pas mylabel_dsgn.pas (847 Bytes, 45x aufgerufen)
Dateityp: pas mylabel.pas (505 Bytes, 36x aufgerufen)
Dateityp: dpk package1.dpk (555 Bytes, 41x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

 
Delphi 10 Seattle Enterprise
 
#19
  Alt 21. Jan 2005, 14:17
Zitat von MaBuSE:
Bitte mit Delphi 6 / 7 Personal ausprobieren und Feedback hier ins Forum.
Ich werde dann das Tutorial anpassen.
Kann das mal bitte jemand Testen.
Danke.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

 
Delphi 10 Seattle Enterprise
 
#20
  Alt 28. Feb 2005, 09:08
Zitat von MaBuSE:
Zitat von MaBuSE:
Bitte mit Delphi 6 / 7 Personal ausprobieren und Feedback hier ins Forum.
Ich werde dann das Tutorial anpassen.
Kann das mal bitte jemand Testen.
Danke.
Ich finde es schade, dass man sich die Mühe macht die Probleme (von z.B. Qnkel und HavoC) zu lösen,
und dann kein Feedback bekommt, ob es geklappt hat
  Mit Zitat antworten Zitat
Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

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 20:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf