Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 16 OCT 1997 04:32:40PM Chris Wilson wrote:

I'm converting a ViP 1.1 app to ViP 2.2 and I'm having trouble with a RowGet that used to work just fine which blows up ViP completely generating a QNC report in NOTES.RIP as follows:

Application exception occurred:

App: VIP.exe (PID=0x8C)

When: 10/2/1997 @ 18:49:13.768

Exception number: C0000005 (access violation)

Exception Flags=0x00000000 (continuable)

Notes Build: Release 4.51|April 3, 1997

———- Code Disassembly ———-

function: +0000

      16242148 cc               int     3
      16242149 cc               int     3
      1624214a cc               int     3
      1624214b cc               int     3
      1624214c cc               int     3
      1624214d cc               int     3
      1624214e cc               int     3
      1624214f cc               int     3
      16242150 8b542408         mov     edx,esp+0x8          ss:0106ca53=????????
      16242154 56               push    esi

FAULT -]16242155 668b4204 mov ax,edx+0x4 ds:4413ec15=????

      16242159 663dffff         cmp     ax,0xffff

I'm very disappointed that ViP should be blown out of the water like this. If I strip all the parameters but the first one out of the RowGet then it doesn't blow up. Help!

I using a Pentium 200MHz with 32MB, NT 4.0 workstation, Notes 4.51 and ViP 2.2.


At 17 OCT 1997 04:11PM Stephen Bellefontaine Revelation wrote:

Hello Chris,

A couple of suggestions …

Are you retrieving values into variables with a Variant data type?

If you are, don't.

Create a new data object, add several columns from your database, and add the following code to a command button …

Dim row&, status%, error&, col1$, col2$, col3$, col4$

For row&=1 To Data1.ResultRowCount

status%=Data1.RowGet(row&, error&, col1$, col2$, col3$, col4$)

print col1$; col2$; col3$; col4$

Next row&

Does it cause a QNC?

Any more info (code sample) you could supply would be beneficial.

Hope this helps,

ViP Tech Support


At 23 OCT 1997 04:35PM Chris Wilson wrote:

I recoded the RowGet to be lots of CellGets and it was working. However, yesterday it blew up again.

  • * * Quincy for Win32 Rev 1.00 * * Copyright 1995, Lotus Development Corp. * * All rights reserved * * Abnormal Termination Report * **

Portions Copyright (C) 1985-1993 Microsoft Corp. All rights reserved.

Application exception occurred:

App: VIP.exe (PID=0xD7)

When: 10/22/1997 @ 17:35:54.146

Exception number: C0000005 (access violation)

Exception Flags=0x00000000 (continuable)

Notes Build: Release 4.51|April 3, 1997

The curious thing is it causes the following 3 messages in the NT Event viewer:

5:35:44PM

Unable to locate the open procedure "NwPfOpenODIPerformanceData" in DLL "Nwpfctrs.dll" for the "OdiLoad" service. Performance data for this service will not be available. Error Status is data DWORD 0.

Unable to locate the collect procedure "NwPfCollectODIPerformanceData" in DLL "Nwpfctrs.dll" for the "OdiLoad" service. Performance data for this service will not be available. Error Status is data DWORD 0.

Unable to locate the close procedure "NwPfCloseODIPerformanceData" in DLL "Nwpfctrs.dll" for the "OdiLoad" service. Performance data for this service will not be available. Error Status is data DWORD 0.

Last time these messages occurred my LAN administrator reinstalled the Client32 Netware components and they went away.

A further detail that may be relevant is that I run Dynamic Virus Protection from F-Prot that has occasionly caused problems when installing programs.

The following is the code fragment that I am executing:

'Set the query cell criteria to the NoteID passed and get data

retCode%=HDForm.cellSetQuery(1, 1, CSTR(AppWindowParms.ParmNoteID))

retCode%=HDForm.ExecuteQuery()

If HDForm.ResultRowCount ] 0 then

 CmdRefr.enabled=FALSE
 TxtABA.enabled=FALSE
 TxtPU.enabled=FALSE
 dim ColErr&, NoteID&, DT1#, DT2#, CallSts$, Lastupdt#, PriorAuth$
 Row&=HDForm.CurrentRow

' Original ViP 1.1 code

' retCode%=HDForm.RowGet(Row&, ColErr&, NoteID&, TxtPAnal.text, DT1#, TxtABA.text, TxtPU.text, TxtName.text, TxtPDesc.text, TxtPRes.text, DT2#, TxtContact.text, TxtPhone.text, TxtPrType.text, CallSts$, Lastupdt#, PriorAuth$)

 retCode%=HDForm.RowGet(Row&, ColErr&, NoteID&, TxtPAnal.text, DT1#)
 TxtABA.text=HDForm.CellGetString(Row&, 4)
 TxtPU.text=HDForm.CellGetString(Row&, 5)
 TxtName.text=HDForm.CellGetString(Row&, 6)
 TxtPDesc.text=HDForm.CellGetString(Row&, 7)
 TxtPRes.text=HDForm.CellGetString(Row&, 8)
 DT2#=HDForm.CellGetDouble(Row&, 9)
 TxtContact.text=HDForm.CellGetString(Row&, 10)
 TxtPhone.text=HDForm.CellGetString(Row&, 11)
 TxtPrType.text=HDForm.CellGetString(Row&, 12)
 CallSts$=HDForm.CellGetString(Row&, 13)
 Lastupdt#=HDForm.CellGetDouble(Row&, 14)
 PriorAuth$=HDForm.CellGetString(Row&, 15)

At 23 OCT 1997 04:54PM Chris Wilson wrote:

Hi Stephen,

Thanks for your suggestions.

None of my variables are data type of Variant.

I tried the code you suggested and it worked just fine.

Should I try rebuilding my Data Object?

The odd thing is that it seems to be inconsistent?

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/a22d874027ae868f852565320070daf0.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1