Topic: My macro crashes vpw64.exe (1 of 8), Read 51 times
Conf: Error messages, Crashes
From: Michael Baas
Date: Tuesday, March 02, 2004 05:29 AM

Hi,

I tried to write a macro to sort the contents of the clipboard. When
executing it, vpw64.exe (6.12.1) crashes (under W2k, error-msg says an
instruction @ 0x0044b7c8 tried to write to memory at 0x30312c35.)

----------
#100=Buf_Switch(Buf_Free)
Clip_Ins()
Sort_Merge("1,100",0,File_Size)
Clip_Copy_Block(0,File_Size)
Buf_Close(#100)
--------------

So probably I made an error in my macro?
Would appreciate any help :-)

Thanks

Michael

 


Topic: Re: My macro crashes vpw64.exe (2 of 8), Read 54 times
Conf: Error messages, Crashes
From: Fritz Heberlein
Date: Tuesday, March 02, 2004 06:13 AM

I get a similar crash message under WINNT. However, your macro works
when I insert something like

file_save_as("test.txt")

before calling sort_merge.

Fritz

--

Dr. Friedrich Heberlein, Akad. Direktor
Seminar f. Klassische Philologie,
KU Eichstätt-Ingolstadt / Bayern
D-85071 Eichstaett

 


Topic: Re: My macro crashes vpw64.exe (3 of 8), Read 55 times
Conf: Error messages, Crashes
From: Christian Ziemski
Date: Tuesday, March 02, 2004 08:23 AM


It's always a good idea to File_Save_As(...) unnamed buffers before filling data in it if the size of data is greater than some KB (and especially if that size is unknown ...).

Otherwise VEDIT will not be able to use internal file buffering and will complain "NOT ENOUGH MEMORY".

For those files it makes sense to use the string variables VEDIT_TEMP (and perhaps PID) to build the filename.

Quoted from the online help:

>The "PID" string value is the "Process ID" assigned by
>Windows to the current instance of VEDIT. This string can
>be used in temporary filenames to avoid collisions between
>multiple instances (running copies) of VEDIT. For example,
>the WILDFILE macro uses the following command to open its
>temporary file in the VEDIT Temp directory:
>
>File_Open('"|(VEDIT_TEMP)/ved|(PID).wild.tmp"',FORCE+NOMSG)
>
>When VEDIT exits, it automatically deletes temporary files
>belonging to the current instance of VEDIT with the
>following command:
>
>File_Delete("|(VEDIT_TEMP)\ved|(PID).*",NOERR+OK+EXTRA)


Christian

 


Topic: AW: My macro crashes vpw64.exe (4 of 8), Read 56 times
Conf: Error messages, Crashes
From: Michael Baas
Date: Tuesday, March 02, 2004 09:13 AM

Thanks Christian, with File_Save_As added, it crashes no more and runs
fine
:-)

Michael

-----Ursprüngliche Nachricht-----
Von: vtech-crash-error Listmanager
[mailto:vtech-crash-error.listmanager@...]
Gesendet: Dienstag, 2. März 2004 14:24
An: Recipients of 'vtech-crash-error' suppressed
Betreff: Re: My macro crashes vpw64.exe

From: "Christian Ziemski"


It's always a good idea to File_Save_As(...) unnamed buffers before
filling
data in it if the size of data is greater than some KB (and especially
if
that size is unknown ...).

Otherwise VEDIT will not be able to use internal file buffering and will
complain "NOT ENOUGH MEMORY".

For those files it makes sense to use the string variables VEDIT_TEMP
(and
perhaps PID) to build the filename.

Quoted from the online help:

>The "PID" string value is the "Process ID" assigned by Windows to the
>current instance of VEDIT. This string can be used in temporary
>filenames to avoid collisions between multiple instances (running
>copies) of VEDIT. For example, the WILDFILE macro uses the following
>command to open its temporary file in the VEDIT Temp directory:
>
>File_Open('"|(VEDIT_TEMP)/ved|(PID).wild.tmp"',FORCE+NOMSG)
>
>When VEDIT exits, it automatically deletes temporary files belonging to

>the current instance of VEDIT with the following command:
>
>File_Delete("|(VEDIT_TEMP)\ved|(PID).*",NOERR+OK+EXTRA)


Christian




To reply: mailto:vtech-crash-error.17325@...
To start a new topic: mailto:vtech-crash-error@...
To login: http://...
To (un)subscribe: mailto:
vtech-crash-error.list-request@...

 


Topic: Re: My macro crashes vpw64.exe (6 of 8), Read 51 times
Conf: Error messages, Crashes
From: Ted Green
Date: Tuesday, March 02, 2004 10:52 AM

At 06:14 AM 3/2/2004, you wrote:
>I get a similar crash message under WINNT. However, your macro works
>when I insert something like
>
>file_save_as("test.txt")
>
>before calling sort_merge.

This will help us debug the crash. Technically, yes, you should only sort buffers that have an open file, but such macro errors should only result in error messages, not crashes. Assuming we can replicate it, we will fix it.

Ted.


Ted.
-------------------------------------------------------------------------
Ted Green (ted@...) Greenview Data, Inc.
Web: www.... PO Box 1586, Ann Arbor, MI 48106
Tel: (734) 996-1300 Fax: (734) 996-1308 VEDIT - Text/Data/Binary Editor

 


Topic: AW: My macro crashes vpw64.exe (7 of 8), Read 52 times
Conf: Error messages, Crashes
From: Michael Baas
Date: Tuesday, March 02, 2004 11:00 AM

> Assuming we can replicate it, we will fix it.

BTW, later I found out it would also crash vpw.exe

 


Topic: Re: My macro crashes vpw64.exe (5 of 8), Read 51 times
Conf: Error messages, Crashes
From: Ted Green
Date: Tuesday, March 02, 2004 10:49 AM

At 05:30 AM 3/2/2004, you wrote:
> I tried to write a macro to sort the contents of the clipboard. When
>executing it, vpw64.exe (6.12.1) crashes (under W2k, error-msg says an
>instruction @ 0x0044b7c8 tried to write to memory at 0x30312c35.)
>
>----------
>#100=Buf_Switch(Buf_Free)
>Clip_Ins()
>Sort_Merge("1,100",0,File_Size)
>Clip_Copy_Block(0,File_Size)
>Buf_Close(#100)
>--------------
>
>So probably I made an error in my macro?

Michael:

We will try to replicate this and fix it.
Any error in a macro should never crash VEDIT.
VEDIT Pro64 is almost fully debugged, but evidently not quite.

Ted.

 


Topic: Re: My macro crashes vpw64.exe (8 of 8), Read 49 times
Conf: Error messages, Crashes
From: Ted Green
Date: Tuesday, March 02, 2004 04:15 PM

At 05:30 AM 3/2/2004, you wrote:
> I tried to write a macro to sort the contents of the clipboard. When
>executing it, vpw64.exe (6.12.1) crashes (under W2k, error-msg says an
>instruction @ 0x0044b7c8 tried to write to memory at 0x30312c35.)
>
>----------
>#100=Buf_Switch(Buf_Free)
>Clip_Ins()
>Sort_Merge("1,100",0,File_Size)
>Clip_Copy_Block(0,File_Size)
>Buf_Close(#100)
>--------------
>
>So probably I made an error in my macro?
>Would appreciate any help :-)

We cannot replicate the crash; perhaps it depends the contents of the clipboard.

In any case, you should use File_Save_As() before inserting the clipboard.
Also "Buf_Close(#100)" is meaningless and *unpredictable* !!
I think you want:

#100=Buf_Num
Buf_Switch(Buf_Free)
File_Save_As("c:\temp\file.tmp")
Clip_Ins()
Sort_Merge("1,100",0,File_Size)
Clip_Copy_Block(0,File_Size)
Buf_Quit(OK)
Buf_Switch(#100)

Ted.