delphidelphi-7chromium-embeddeddep

CEF (Chromium Embedded Framework) vs DEP (Data Execution Prevention)


I'm using DCEF3 (https://code.google.com/p/dcef3/) with Delphi 7.

The CEF version, embedded with the DCEF, is 3.1547.1412.

The Problem

On machines with Windows 2008 R2, some times when my application loads, it crashes with an event of type BEX.

I only was able to solve the crash deactivating the DEP on windows, for this I used the prompt command:

bdcedit /set nx AlwaysOff

But this cannot be the solution.

I cannot force my users to disable DEP on their servers.

Here is the APPCRASH report (in Portuguese):

    Assinatura do problema:
      Nome do Evento de Problema:         BEX
      Nome do Aplicativo:                          MyExecutable.exe
      Versão do Aplicativo:                         1.1.0.1
      Carimbo de Data/Hora do Aplicativo:            2a425e19
      Nome do Módulo de Falhas:            dhcpcsvc6.DLL
      Versão do Módulo de Falhas:           6.1.7601.17970
      Carimbo de Data/Hora do Módulo de Falhas:              50745f7c
      Deslocamento de Exceção:               00001730
      Código de Exceção:                            c0000005
      Dados de Exceção:                             00000008
      Versão do sistema operacional:        6.1.7601.2.1.0.18.10
      Identificação da Localidade:             1046
      Informações Adicionais 1:                 a7aa
      Informações Adicionais 2:                 a7aa91f17ea749d42a4de3b390fa5b3d
      Informações Adicionais 3:                 a7aa
      Informações Adicionais 4:                 a7aa91f17ea749d42a4de3b390fa5b3d

Can somebody help me to find the root of the problem or some information about why this is happening?


Solution

  • According to this articles:

    I added the following directive to add to the header the TSAWARE info:

    {$SETPEOPTFLAGS $8000}
    

    After some exhaustive tests, the problem stopped.