Avatar billede martinlind Nybegynder
31. august 2001 - 10:52 Der er 15 kommentarer og
1 løsning

Så er Borland godt igang med at grave sin egen grav !!!!!

Problemet med proxies, borlands svar på en forespørgsel på hvornår vi får en løsning

a) README.TXT
--------------
Compatibility issues
------------------------------

* Design-time packages that used ToolsAPI now also require
  designide.

--------------

Proxies er en del af denne pakke.

b) license.txt
--------------
You may NOT redeploy Borland-supplied design-time-only
packages. You may not recompile or redistribute any
Borland-supplied components or libraries for use by other
developers.

Packages that you develop may not have the same names as
Borland-supplied packages. If you distribute component
libraries or other packages, it is recommended that you
avoid using the default DCLUSR60 package name, since this
will cause naming conflicts with other developers.
--------------

/Martin
Avatar billede ziron Nybegynder
31. august 2001 - 11:02 #1
hehe :-)

/ZIRON
Avatar billede kim_friis Nybegynder
31. august 2001 - 11:16 #2
Hej Martin, jeg forstår ikke helt hvor du vil hen med at Borland graver sin egen grav? Man har da aldrig måtte sende borland pakker med ud med sine egne ting?
Avatar billede martinlind Nybegynder
31. august 2001 - 11:20 #3
Man har da altid måtte sende runtime pakker med ud.
Avatar billede martinlind Nybegynder
31. august 2001 - 11:25 #4
Men det helt store problem er at man ikke kan lave sine egne comp. med din egen editor til, det kan ikke lade sig gøre da man ikke kan gøre et project afhængig at en designtime package.
Avatar billede kim_friis Nybegynder
31. august 2001 - 12:03 #5
Jo det kan du godt. MEN du må bare ikke lægge editoren ind i den samme pakke som din komponent fordi så kan du ikke kompilere projektet. Borland anbefalede allerede under Delphi 5 at man adskilte Designtime og runtime packages men under Delphi 6 KRÆVER de det bare. Så læg dine editore ud i pas filer for sig selv og så er du oppe at køre igen.
Avatar billede torbenkoch Nybegynder
10. september 2001 - 21:48 #6
Hmmm - har downloaded en D5 komponent med source til - det er lykkedes mig fint - efter en del besvær med designintfs osv. - at få den kompileret og installeret.

Desværre har den en propertyeditor, som ikke lige har taget højde for det med at adskille designtime og runtime packages, så selvom jeg godt kan smide komponenten på en form, så kan jeg ikke kompilere projektet, fordi proxies.pas bliver inkluderet. Træls...!

Så løsningen må være at adskille tingene fra hinanden og dublere noget kode (smart, ikke!), så skidtet kan kompileres uafhængigt af property editoren.
Avatar billede martinlind Nybegynder
10. september 2001 - 22:07 #7
Jeg har fundet løsningen, du SKAL adskille koden uden at dublere, og så må du ikke use din editor fra din comp. ( du kan som hack gå in i D6 unit\'en der user proxies og sætte {} rundt om, det compilerer uden fejl )

/Martin
Avatar billede torbenkoch Nybegynder
10. september 2001 - 22:10 #8
Nej, den kompilerer nemlig ikke uden fejl - har skam prøvet, men det er selvfølgelig fordi komponenten og property-editoren er sovset ind i hinanden. Så det nemmeste (læst hurtigste) er nok at adskille ved at dublere, da property-editoren og komponenten deles om nogle units - og en af disse units bruger altså Proxies.pas.
Avatar billede martinlind Nybegynder
10. september 2001 - 22:16 #9
Jo du kan sagtens få den til at compilere uden fejl, har selv gjort det, det gik fint, ellers lan en unit du kalder proxies.pas og læg den ene rutine i som der bliver kaldt i proxies ( kan ikke lige huske hvad den hedder, det burde du kunne finde i gamle spm )
Avatar billede torbenkoch Nybegynder
10. september 2001 - 22:18 #10
Nu har du jo altså ikke set den komponent det drejer sig om, så derfor kan du selvfølgelig ikke udtale dig om præcist den.

Men ideen med at lave en separat proxies.pas er da glimrende, nu har jeg bare ikke den oprindelige proxies.pas så jeg kan kopiere kildekoden fra den...! Havde jeg det, var der jo ikke noget problem.
Avatar billede martinlind Nybegynder
11. september 2001 - 09:37 #11
Det behøver du heller ikke, du kan lede i gamle spm. som jeg skrev, der er en der har fundet ud hvordan den skal se ud, nemlig sådan :

unit Proxies;

interface


Function IsProxyClass(ComponentClass: TClass): Boolean;


implementation


Function IsProxyClass(ComponentClass: TClass): Boolean;
begin
  Result := True;
end;


end.

Men det med at unmarke usen det virker også fint

/Martin
Avatar billede kim_friis Nybegynder
11. september 2001 - 09:44 #12
Se nu laver i jo en workaround sådan at i alligevel kan komme uden om det som der er blevet udstukket som god programmeringsskik, nemlig ikke at få componenteditors kompileret med i sine endelige .exe filer. *sign*

Nå men i har jo sikkert jeres grunde. Og forresten så behøves man ikke at dublikere kode da man jo kan lægge alt kode i sammen med komponenten og så ellers bare bruge det inde fra sin komponenteditor.
Avatar billede martinlind Nybegynder
11. september 2001 - 09:53 #13
Det ved vi godt *S*
Avatar billede torbenkoch Nybegynder
11. september 2001 - 09:56 #14
Kim: Det specifikke problem er at få en eksisterende tredjeparts komponent til at virke - jeg gider sådan set ikke reprogrammere den for at bruge den...!
Avatar billede kim_friis Nybegynder
11. september 2001 - 10:13 #15
Det kunne jeg godt se ud fra jeres kommentare, jeg kunne bare ikke dy mig for at lige komme med en enkelt kommentar :-)

Avatar billede martinlind Nybegynder
20. marts 2005 - 13:34 #16
...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester