Non sei stato l'unico ad avere quel problema.
Si risolve in questo modo:
occorre aggiungere ai requires del package designtime il package designide. Nella unit che si occupa della registrazione dei componenti, aggiungi DesignIntf e DesignEditors alla clausola uses.
Sono in grado anche di spiegarti perchè la Borland ha apportato queste modifiche.
Nelle versioni di Delphi dalla 5 in giù, i package che richiedevano la registrazione di component editor, property editor, ecc. si "linkavano" staticamente al file incriminato (DsgnIntf) che conteneva le classi base e le routine per implementare le proprie classi discendenti personalizzate. Questo però dava luogo ad un problema: quando si compilava il package creando il corrispondente file binario BPL da caricare in Delphi, si compilava (e spesso si distribuiva) codice Borland all'interno dei package (precisamente, quello contenuto nella unit DsgnIntf).
Ora invece, quella unit ha cambiato nome, è disponibile in formato sorgente ma deve essere utilizzata dai package aggiungendo alla clausola requires il file DesignIde.dcp che ti ho indicato sopra, il quale contiene una versione compilata delle nuove unit DesignIntf e DesignEditors da utilizzare, le quali sostituiscono la vecchia DsgnIntf.
Morale: ora i nuovi package designtime non includono più il codice anticamente contenuto nel file DsgnIntf.pas ma si linkano dinamicamente ad esso poichè sfruttano le nuove unit DesignIntf e DesignEditors, che sostituiscono DsgnIntf.pas, collegandosi al package già compilato (DesignIde) che le contiene.
Spero di essere riuscito a spiegarmi con chiarezza...
Ciao!![]()


Rispondi quotando