Crystal causes GPF with pdbdao.dll 
Author Message
 Crystal causes GPF with pdbdao.dll

Hi everybody.

Im developing software for old win31 using vb4-16 and Crystal 3 (thats the
version that came with vb).

Im having kinda strange problem:  I tried to install my software in several
win31 machines and everything goes just fine, except the reports.  I get the
following message: prjctlhr (my software) caused a GPF in pdbdao.dll at
address 0001:0dca.

The same problem happens when I try it in win95, but only after trying
several reports, which is really funny.

Any ideas?

Thanks in advance!



Tue, 14 Aug 2001 03:00:00 GMT  
 Crystal causes GPF with pdbdao.dll
Did you make your install disks on a Win31 machine? If not I would as a
first try.

By the way gpf's in the win95 and later world are usually caused by having
several Crystal.Ocx's active at the same time. It turns out that the .ocx is
"not thread safe" and just closing the report window doesn't completly
release everyting.

The only method that I know works is the following.
1. Remove all crystal controls from your project.

2. Add a single form with a single crystal control  (frmReport.Crystal1) set
the form property Visable = False.

3. Everywhere you call a report insert the following code.

   ' Clear any remnants
   Set frmReport = Nothing

   Load frmReport
   With frmReport.Crystal1
         ..... initialize all of the propertys of the control (report name
etc.)
        .Action = 1
   End With



Sun, 26 Aug 2001 03:00:00 GMT  
 Crystal causes GPF with pdbdao.dll
Tom,

I have a similiar problem in that I've got a client that prints a walkout
invoice for every patient that the doctor sees in a given day.  She will get
an IPF in module msvbvm50.dll usually once a day out of the 15-20 invoices
she prints.  She's running Win98 and I can't seem to track down the problem.

I have a single form ( frmReport ) that contains the OCX but I'm doing the
following to print the reports.

Dim frmNew As frmReport

Set frmNew = New frmReport

Reset_cryReport_Control frmNew.cryReport

With frmNew.cryReport
    .ReportFileName = m_ReportsPath & "invoice.rpt"
    .Formulas(0) = ""
    .DataFiles(0) = "sp_invoiceRpt"
    .StoredProcParam(0) = TransactionId
    .StoredProcParam(1) = Payment_Amt
    .StoredProcParam(2) = Method_Payment
    .CopiesToPrinter = iCopies
    .destination = crptoprinter
    .action = 1

    while .status = 0
         doevents
    wend

end with

set frmNew = nothing

The Win98 machine is only running 32mg RAM and was wondering if memory is
causing it.  I read your posting about the OCX is not thread safe which
could be also causing my problem.  The IPF is really eating my lunch and was
looking for some ideas you might have.

Thanks for your help.
Tina

Quote:

>Did you make your install disks on a Win31 machine? If not I would as a
>first try.

>By the way gpf's in the win95 and later world are usually caused by having
>several Crystal.Ocx's active at the same time. It turns out that the .ocx
is
>"not thread safe" and just closing the report window doesn't completly
>release everyting.

>The only method that I know works is the following.
>1. Remove all crystal controls from your project.

>2. Add a single form with a single crystal control  (frmReport.Crystal1)
set
>the form property Visable = False.

>3. Everywhere you call a report insert the following code.

>   ' Clear any remnants
>   Set frmReport = Nothing

>   Load frmReport
>   With frmReport.Crystal1
>         ..... initialize all of the propertys of the control (report name
>etc.)
>        .Action = 1
>   End With



Mon, 27 Aug 2001 03:00:00 GMT  
 Crystal causes GPF with pdbdao.dll
My guess it the problem is in the
Quote:
>Set frmNew = New frmReport

Which could cause the .exe to have more than one instance of the object
frmReport  at the same time.

instead I would

Set frmReport = nothing

Load frmReport

It is worth a try.

Quote:

>Tom,

>I have a similiar problem in that I've got a client that prints a walkout
>invoice for every patient that the doctor sees in a given day.  She will
get
>an IPF in module msvbvm50.dll usually once a day out of the 15-20 invoices
>she prints.  She's running Win98 and I can't seem to track down the
problem.

>I have a single form ( frmReport ) that contains the OCX but I'm doing the
>following to print the reports.

>Dim frmNew As frmReport

>Set frmNew = New frmReport

>Reset_cryReport_Control frmNew.cryReport

>With frmNew.cryReport
>    .ReportFileName = m_ReportsPath & "invoice.rpt"
>    .Formulas(0) = ""
>    .DataFiles(0) = "sp_invoiceRpt"
>    .StoredProcParam(0) = TransactionId
>    .StoredProcParam(1) = Payment_Amt
>    .StoredProcParam(2) = Method_Payment
>    .CopiesToPrinter = iCopies
>    .destination = crptoprinter
>    .action = 1

>    while .status = 0
>         doevents
>    wend

>end with

>set frmNew = nothing

>The Win98 machine is only running 32mg RAM and was wondering if memory is
>causing it.  I read your posting about the OCX is not thread safe which
>could be also causing my problem.  The IPF is really eating my lunch and
was
>looking for some ideas you might have.

>Thanks for your help.
>Tina


>>Did you make your install disks on a Win31 machine? If not I would as a
>>first try.

>>By the way gpf's in the win95 and later world are usually caused by having
>>several Crystal.Ocx's active at the same time. It turns out that the .ocx
>is
>>"not thread safe" and just closing the report window doesn't completly
>>release everyting.

>>The only method that I know works is the following.
>>1. Remove all crystal controls from your project.

>>2. Add a single form with a single crystal control  (frmReport.Crystal1)
>set
>>the form property Visable = False.

>>3. Everywhere you call a report insert the following code.

>>   ' Clear any remnants
>>   Set frmReport = Nothing

>>   Load frmReport
>>   With frmReport.Crystal1
>>         ..... initialize all of the propertys of the control (report name
>>etc.)
>>        .Action = 1
>>   End With



Tue, 28 Aug 2001 03:00:00 GMT  
 Crystal causes GPF with pdbdao.dll
Tom,

I'll get it a try.  Thanks for your help.
Tina

Quote:

>My guess it the problem is in the
>>Set frmNew = New frmReport
>Which could cause the .exe to have more than one instance of the object
>frmReport  at the same time.

>instead I would

>Set frmReport = nothing

>Load frmReport

>It is worth a try.



Tue, 28 Aug 2001 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. GPF in module PDBDAO.DLL at 0001.ODCA

2. missing PDBDAO.DLL in vb5/crystal 7 apps

3. VBSQL.VBX, VB 3.0 and Crystal 5.0 causes GPF

4. Crystal Reports .OCX causes GPF in VB5

5. data1.refresh causes GPF in MSJT3032.DLL...anyone?`

6. GPF caused by VB40016.dll

7. data1.refresh causes GPF in MSJT3032.DLL...anyone?`

8. data1.refresh causes GPF in MSJT3032.DLL...anyone?

9. can't find PDBDAO.DLL, PDIRDAO.DLL

10. GPF: DAO2516.DLL (with Crystal)

11. GPF in OLE2DISP.DLL - VB4 w/Crystal Reports

12. Crystal Report PDBDAO.DDL error

 

 
Powered by phpBB® Forum Software