[delphi] Migratie van 5 naar 6 gaat wel erg stroef

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Ik ben nu al de hele avond bezig mijn sources proberen aan te passen voor Delphi 6, maar hij blijft maar moeilijk doen... Snap sowieso niet waarom ze backwards-compatibility niet aangehouden hebben, dat is in het verleden ook altijd prima gelukt, terwijl ze er nu echt een potje van gemaakt hebben :'(

Maargoed, het probleem met DsgnIntf units dus.

Ik heb inmiddels begrepen dat die vervangen is door DesignIntf, DesignEditors en nog een paar. Ook wat design interfaces zijn van naam veranderd. en je moet, waar je property editors gebruikt, DesignIDE toevoegen, omdat je anders een melding krijgt dat Procies.pas niet gevonden wordt. Op zich allemaal geen enkel probleem. Ik ben zelfs al zo ver dat al mijn packages weer compileren en installeren. Tot zover gaat de migratie dus weliswaar stroef maar het gaat wel.

Waar ik ff niet uit kom is waarom de melding dat Proxies.pas niet gevonden kan worden, nog steeds wordt gegeven als ik gewoon mijn project compileer...

Op internet wordt overal gezegd dat je de designtime en runtime gedeelten van je packages moet scheiden, maar dat is *veel*, heel *veel* werk. Daar heb ik dus geen zin in en vindt ik ook absoluut overbodig, gezien ik nooit losse packages bij m'n EXE's gebruik. Er zijn nog een paar andere oplossingen die er in ieder geval voor zorgen dat je project weer compileert:

1) Vink "Build with runtime packages" aan in de project options. Dit moet dat voor ieder (nieuw) project, maar ik geloof nooit dat iemand dit handig zal vinden.
2) Pas DesignEditor aan, zodat Proxies.pas niet meer nodig is. Om precies te zijn, commentariëer regels 2453 en 2454 uit (het stukje met IsProxyClass).

De twee oplossingen zijn beide niet zo netjes, maar het is een workaround...Misschien weet iemand iets beters?

日本!🎌


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Eigenlijk valt het wel mee met wat je moet veranderen in je code. De grootste wijziging is idd rond de designtime editors.

Helaas heb je geen keuze. Vroeger was het al niet de bedoeling dat je designtime code in je runtime packages deed, maar nu is het gewoon onmogelijk. Helaas zal je alles netjes moeten scheiden. Zie daarvoor ook http://bdn.borland.com/article/0,1410,27717,00.html

We adore chaos because we like to restore order - M.C. Escher


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Die link heb ik al 478563x gelezen, maar daar staat dus alles verteld over packages. Ik heb GEEN runtime packages, alles is designtime. En dan begint ie nog te klagen als ik m'n project wil compileren.

日本!🎌


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 07-03 16:48

klinz

weet van NIETS

_Thanatos_ schreef op 06 July 2003 @ 21:44:
1) Vink "Build with runtime packages" aan in de project options. Dit moet dat voor ieder (nieuw) project, maar ik geloof nooit dat iemand dit handig zal vinden.
Je kunt wel het vinkje 'default' aanvinken. Dan worden de huidige projectinstellingen default gemaakt en hoef je het in ieder geval niet meer bij elk volgend project aan te vinken.

[ Voor 4% gewijzigd door klinz op 06-07-2003 22:43 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Maar dus niet voor projecten die iemand anders gemaakt heeft, of op een oudere delphi versie...

[ Voor 3% gewijzigd door _Thanatos_ op 06-07-2003 23:51 ]

日本!🎌


  • CyeZ
  • Registratie: September 2001
  • Laatst online: 10-09-2025

CyeZ

Vroem vroem!!!

Nee inderdaad, voor reeds bestaande packages zal die 'default' aanzetten geen zin hebben. Dan moet je het gewoon voor elke al bestaande package apart aanzetten.
Maar, let op dat als je 'build with runtime packages' gebruikt dan nog steeds wel je packages moet opsplitsen in runtime en designtime packages. Doe je dit niet, dan heeft je programma een aantal designtime packages nodig die je niet mag verspreiden volgens de licentie die bij Delphi zit.
De enige echte oplossing is dus echt het compleet omzetten van je packages naar runtime-only en designtime-only packages. Gedeelde packages zijn alleen nog mogelijk vanwege backwards compatability.

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Bij de overstap van 5 -> 6 had ik heel weinig problemen, had meer problemen bij alle andere versie upgrades.. ( vooral van 3 naar 4..)

Je zegt dat delphi klaagt als je wilt compileren, welke foutmeldingen krijg je exact?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

_Thanatos_ schreef op 06 July 2003 @ 22:09:
Die link heb ik al 478563x gelezen, maar daar staat dus alles verteld over packages. Ik heb GEEN runtime packages, alles is designtime. En dan begint ie nog te klagen als ik m'n project wil compileren.
Alleen designtime packages? Dat lijkt me stug. Dan zitten daar dus geen units in die je in je programma gebruikt en dus alleen designtime editors enzo? Als dat zo is moet je de package als designtime aanvinken en zou er niets aan de hand moeten zijn.

We adore chaos because we like to restore order - M.C. Escher


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 16:05

alienfruit

the alien you never expected

je moet wel zowel een runtime package als een designtime package hebben en gewoon zorgen dat je runtime packages meecompileert in je executable.

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Je zegt dat delphi klaagt als je wilt compileren, welke foutmeldingen krijg je exact?
Hij kan proxies.pas niet vinden... Denk je de VCL source erbij te hebben, blijkt dat ze nog niet alles meegeven.
Alleen designtime packages? Dat lijkt me stug. Dan zitten daar dus geen units in die je in je programma gebruikt en dus alleen designtime editors enzo? Als dat zo is moet je de package als designtime aanvinken en zou er niets aan de hand moeten zijn.
Nee, ik heb gewoon 1 package waar een berg 3rd party componenten inzitten. Dat zijn dus gewoon voor ieder component een losse pas file en een dcr. Wat kan mij het nou interesseren of die dingen designtime of runtime zijn, ik wil ze gewoon kunnen gebruiken. Dat heeft altijd gewerkt, dus ik snap niet waarom nu opeens niet.

日本!🎌


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je krijgt wel de hele source van de VCL, maar niet van de IDE. Bij designtime dingen is de lijn daartussen vrij dun. Proxies.pas valt dus net onder het IDE gedeelte.

Dat zijn dan niet zulke nette 3rd party componenten die je daar hebt. Ze hadden altijd al de desingtime code van de runtime code gescheiden moeten houden. Kan je niet de nieuwste versie daarvan krijgen dan? Die zijn wellicht wel D6 gereed. Zo te horen zijn het kleine componentjes en dus hebben ze waarschijnlijk geen designtime editors. Zoveel werk is het dan ook niet.

Maar ik denk dat je het best wel snapt, maar dat je wat stoom af wilt blazen omdat de overgang wat meer tijd kost als je verwachte :)

We adore chaos because we like to restore order - M.C. Escher


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 06-03 20:19

_Thanatos_

Ja, en kaal

Topicstarter
Klopt, maargoed, ik ben er voorlopig uit... we weten nu iig wat je kan verwachten als je een componentje vindt dat niet voor D6+ ontworpen is.

日本!🎌

Pagina: 1