Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
leocechet Novato
Registrado: Terça-Feira, 29 de Março de 2011 Mensagens: 20
|
Enviada: Qua Ago 24, 2011 9:14 am Assunto: Problemas na migração do Delphi 7 para 2010 (componentes) |
|
|
Olá pessoal, estou querendo migrarar minha aplicação para o Delphi 2010 para desenvolvê-la em 3 camadas com o novo DataSnap. Mas para isso, preciso migrar todos os componentes primeiro e estou enfrentando um sério problema.
Consigo compilar os componentes, são geradas todas as bpls, quando vou instalá-los na aba build do Delphi exibe "Success" mas ocorre a mensagem um "Acess Violation". Até parece que instala os componentes, a impressão que tenho é que no momento que vai exibí-los na paleta de componentes ocorre o problema.
Tenho os seguintes componentes de terceiros totalmente compatíveis com o Delphi 2010:
1. DevExpress;
2. Jedi;
3. TMS.
Instalei estes três sem problemas.
O único componente que sobrou para migrar são os da Turbo Power, mas nele precisou somente em 2 linhas numa unit fazer TypeCase PAnsiChar(Pchar()) e acabou compilando.
Tratei também nos fontes da aplicação o que era necessário para rodar no Delphi 2010.
Tenho os componentes Fast Report e Crystal Report, mas não estão incluídos neste pacote de componentes que compilei, então acredito que eles não estejam atrabaplhando.
Alguém ja enfrentou este tipo de problema?
Segue o bug que o MadExepct gerou:
Código: | operating system : Windows 7 Service Pack 1 build 7601
system language : Portuguese
processors : 2x Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
physical memory : 1351/3037 MB (free/total)
free disk space : (C:) 106,13 GB
display mode : 1440x900, 32 bit
process id : $c48
allocated memory : 366,64 MB
command line : "C:\Program Files\Embarcadero\RAD Studio\7.0\bin\bds.exe" -pDelphi
executable : bds.exe
current module : madExcept_.bpl
exec. date/time : 2009-08-19 18:00
version : 14.0.3513.24210
compiled with : Delphi 2010
madExcept version : 3.0m
callstack crc : $2b1aa8c3, $da85d3e5, $e4669a77
exception number : 2
exception class : EAccessViolation
exception message : Access violation at address 2B1AA8C3. Read of address 00000008.
main thread ($f48):
2b1aa8c3 +000 ???
5000b312 +042 rtl140.bpl System 12773 +25 System.InitUnits
5000b382 +046 rtl140.bpl System 12794 +8 System.@PackageLoad
50035527 +03b rtl140.bpl SysUtils 20246 +4 SysUtils.InitializePackage
5003567f +083 rtl140.bpl SysUtils 20296 +18 SysUtils.LoadPackage
208d1c84 +008 coreide140.bpl PakLoad 143 +0 PakLoad.TPackage.DoLoadPackage
208d1df9 +055 coreide140.bpl PakLoad 217 +7 PakLoad.TPackage.Load
20829ea9 +061 coreide140.bpl PakMgr 581 +2 PakMgr.TDesignPackage.Load
2188bf4f +05b delphicoreide140.bpl PasCppPakMgr 2252 +4 PasCppPakMgr.TIDEDesignPackage.Load
5000a41d +01d rtl140.bpl System 10325 +2 System.@AfterConstruction
2188bd63 +06b delphicoreide140.bpl PasCppPakMgr 2177 +11 PasCppPakMgr.TIDEDesignPackage.DelayLoad
218901e4 +030 delphicoreide140.bpl PakList 913 +3 PakList.TPackageListItem.LoadWait
21890168 +068 delphicoreide140.bpl PakList 891 +15 PakList.TPackageListItem.LoadDesignPackage
2188f1e3 +067 delphicoreide140.bpl PakList 559 +7 PakList.TPackageListItem.SetIsInstalled
2188efbd +0d5 delphicoreide140.bpl PakList 473 +13 PakList.TPackageList.AddPackage
218e8333 +093 delphicoreide140.bpl BasePasProjOpts 2058 +8 BasePasProjOpts.TProjOptsManager.InstallPackage
218ea443 +003 delphicoreide140.bpl BasePasProjOpts 3010 +0 BasePasProjOpts.TProjectOptions.InstallPackage
2190f5ad +191 delphicoreide140.bpl PasMgr 11594 +18 PasMgr.TPascalPackageCodeUpdater.InstallPackage
2189298b +06f delphicoreide140.bpl PkgContainers 178 +8 PkgContainers.TStdPackageProjectContainer.CommandHandler
2070868e +0d6 coreide140.bpl ContainerIntf 819 +8 ContainerIntf.TIDEProjectManagerMenuObject.Execute
20709e71 +171 coreide140.bpl ContainerIntf 999 +18 ContainerIntf.TProjectManagerMenuItem.Click
50281787 +013 vcl140.bpl Menus 3383 +5 Menus.TMenu.DispatchCommand
50282966 +082 vcl140.bpl Menus 4489 +4 Menus.TPopupList.WndProc
502828b5 +01d vcl140.bpl Menus 4464 +2 Menus.TPopupList.MainWndProc
50076360 +014 rtl140.bpl Classes 13014 +8 Classes.StdWndProc
75e0cc6b +00a USER32.dll DispatchMessageW
502c8749 +11d vcl140.bpl Forms 9784 +30 Forms.TApplication.ProcessMessage
502c878e +00a vcl140.bpl Forms 9814 +1 Forms.TApplication.HandleMessage
502c8ab9 +0c9 vcl140.bpl Forms 9951 +26 Forms.TApplication.Run
768d3c43 +010 kernel32.dll BaseThreadInitThunk
thread $fd8:
77886a02 +000a ntdll.dll NtWaitForMultipleObjects
75be69d6 +0000 KERNELBASE.dll WaitForMultipleObjectsEx
768cbc89 +0089 kernel32.dll WaitForMultipleObjectsEx
75e062f3 +7f8a USER32.dll MsgWaitForMultipleObjectsEx
75e037f2 +001a USER32.dll MsgWaitForMultipleObjects
768d3c43 +0010 kernel32.dll BaseThreadInitThunk
thread $b88: <priority>
77886a02 +0a ntdll.dll NtWaitForMultipleObjects
75be69d6 +00 KERNELBASE.dll WaitForMultipleObjectsEx
768cbc89 +89 kernel32.dll WaitForMultipleObjectsEx
5007b84a +56 rtl140.bpl SyncObjs 339 +14 SyncObjs.THandleObject.WaitFor
5007367e +42 rtl140.bpl Classes 11018 +8 Classes.ThreadProc
5000b974 +28 rtl140.bpl System 13579 +33 System.ThreadWrapper
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $5b4:
77886a02 +0a ntdll.dll NtWaitForMultipleObjects
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $1cc:
77886a32 +0a ntdll.dll NtWaitForWorkViaWorkerFactory
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $fc0:
77886a02 +0a ntdll.dll NtWaitForMultipleObjects
75be69d6 +00 KERNELBASE.dll WaitForMultipleObjectsEx
768cbc89 +89 kernel32.dll WaitForMultipleObjectsEx
768cbcf7 +13 kernel32.dll WaitForMultipleObjects
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $7e0: <priority>
77886a22 +0a ntdll.dll NtWaitForSingleObject
75be1796 +66 KERNELBASE.dll WaitForSingleObjectEx
768cbaee +3e kernel32.dll WaitForSingleObjectEx
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $450:
77886a22 +0a ntdll.dll NtWaitForSingleObject
75be1796 +66 KERNELBASE.dll WaitForSingleObjectEx
768cbaee +3e kernel32.dll WaitForSingleObjectEx
768cba9d +0d kernel32.dll WaitForSingleObject
20f288de +26 vclide140.bpl IDEVirtualTrees 5252 +4 IDEVirtualTrees.TWorkerThread.Execute
5007367e +42 rtl140.bpl Classes 11018 +8 Classes.ThreadProc
5000b974 +28 rtl140.bpl System 13579 +33 System.ThreadWrapper
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $3d4:
778857d2 +0a ntdll.dll NtDelayExecution
75be1870 +4f KERNELBASE.dll SleepEx
75be1813 +0a KERNELBASE.dll Sleep
5007367e +42 rtl140.bpl Classes 11018 +8 Classes.ThreadProc
5000b974 +28 rtl140.bpl System 13579 +33 System.ThreadWrapper
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $ef8: <priority>
75e018d4 +3b USER32.dll GetMessageA
768d3c43 +10 kernel32.dll BaseThreadInitThunk
thread $9c4: <suspended> <priority>
778868a2 +00a ntdll.dll NtSuspendThread
75c0464d +00c KERNELBASE.dll SuspendThread
50074362 +032 rtl140.bpl Classes 11542 +5 Classes.TThread.Suspend
2085d032 +1ea coreide140.bpl ComInOut 1852 +62 ComInOut.TKibitzingMonitor.Execute
5007367e +042 rtl140.bpl Classes 11018 +8 Classes.ThreadProc
5000b974 +028 rtl140.bpl System 13579 +33 System.ThreadWrapper
768d3c43 +010 kernel32.dll BaseThreadInitThunk | [/img] |
|
Voltar ao Topo |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qua Ago 24, 2011 9:25 am Assunto: |
|
|
PAnsiChar(Pchar())
nao parece ser um typecast aconselhavel |
|
Voltar ao Topo |
|
|
leocechet Novato
Registrado: Terça-Feira, 29 de Março de 2011 Mensagens: 20
|
Enviada: Qua Ago 24, 2011 10:32 am Assunto: |
|
|
Bom segui os passos que o colunista Marcelo Jaloto da Active Delphi passou no seu artigo "Migrando para Delphi 2009" publicado na revista Active Delphi nº 61.
Tenho essa revista e seus autores como fontes confiáveis.
Alguém mais? |
|
Voltar ao Topo |
|
|
C++_killer Novato
Registrado: Sexta-Feira, 12 de Setembro de 2008 Mensagens: 65
|
Enviada: Qua Ago 24, 2011 4:11 pm Assunto: |
|
|
Pode até não ter relação com o erro, mas concordo com o Gilson com relação ao TypeCast PAnsiChar(PChar()).
Seria interessante que o autor do artigo esclarecesse se essa forma de TypeCast é a única aplicável nesse caso.
Abraços. _________________ The Club - O maior clube de programadores do Brasil!
Suporte e Consultoria em Delphi
Facebook: The Club - Datasmart
Twitter: @theclubbr |
|
Voltar ao Topo |
|
|
leocechet Novato
Registrado: Terça-Feira, 29 de Março de 2011 Mensagens: 20
|
Enviada: Qua Ago 24, 2011 5:46 pm Assunto: |
|
|
Bom vou remover todas as units que fiz este TypeCast, afinal de contas vale apena tentar, mesmo imaginando que este pode não ser o problema. |
|
Voltar ao Topo |
|
|
leocechet Novato
Registrado: Terça-Feira, 29 de Março de 2011 Mensagens: 20
|
Enviada: Sex Ago 26, 2011 3:06 pm Assunto: |
|
|
Consegui migrar os componentes para o Delphi 2010.
O problema estava no componente "TurboPower SysTools" http://sourceforge.net/projects/tpsystools/
Baixei a nova versão dele, mas antes de tudo tive que ir adcionando componente por componente no pacote pra saber onde estava o problema. |
|
Voltar ao Topo |
|
|
johnny-walker Moderador
Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Dom Ago 28, 2011 1:34 pm Assunto: |
|
|
Bem interessante este componente amigo, vc o utiliza para quê???
Notei que sua documentaçõa e muito grande, algo em torno de 1100 páginas de documentação, um bocado de coisa.
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
|
|