Custom component Convertion from delphi 5 to delphi 7 -


recently got chance convert delphi-5 code delphi-7. @ first started converting custom components delphi-7. while compiling delphi-5 components in delphi-7 system throwing error stating

"undeclared identifier: iformdesigner".

after googling came know iformdesigner should replaced idesigner. after replacing iformdesigner idesigner , separating design code runtime code, of components got compiled. while compiling below piece of code getting compiled successfully. when place component on form system throwing access violation error @

path:=idesigner(tform(fformowner).designer).getprivatedirectory in delphi7.

below component code.

constructor tsamplecomponent.create(aowner: tcomponent); begin   inherited create(aowner);   fformowner:=tform(owner);   if not (owner tform)     repeat       fformowner:=tform(fformowner.owner);     until (fformowner tform) or (fformowner.owner=nil);    if (csdesigning in componentstate)     //path:=iformdesigner(tform(fformowner).designer).getprivatedirectory--     delphi 5 code     path:=idesigner(tform(fformowner).designer).getprivatedirectory   else     path:=extractfilepath(application.exename); . .  end; 

the designer property of type idesignerhook , cannot hard cast idesigner. have hope of success need code of form:

(fformowner tform).designer idesigner 

this perform runtime query of idesignerhook interface designer, , return idesigner interface if interface indeed supported.


Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - Bypass Geo Redirect for specific directories -

php - .htaccess mod_rewrite for dynamic url which has domain names -