Lee
For some reason the code and comments I sent yesterday got
trashed and sent back as non-deliverable. I sent it again this
morning in another email and hope it makes it this time.
Like I said in my emails before the pound sign in the body has
given me problems so I don't inlcude it. Then changing the code
to LAUNCH &vemail from LAUNCH .vemail give me the error saying
that it was reaching some kind of RBase limit 5000 char or 400
lines (whatever this means). When I used a dotted variable it
would crash RBase saying it had an illegal operation on a Win98
machine.
In talking to one of my collegues, he said it looks as if RBTI is
using a C++ CString to hold this data. He has had similar results
with using CStrings not being able to hold all 4092 that it says
it can and dropping out around 3900 to 4500. He said he never
figured out why it wouldn't work.. He said he went to using a
C++ CHAR ARRAY..
Here again is the code I was testing with:
SET QUOTES = '
SET VAR eet TEXT = '[EMAIL PROTECTED]'
SET VAR ees TEXT = 'THIS IS THE SUBJECT LINE'
SET VAR eec TEXT = 'THIS IS THE CARBON COPY TO'
SET VAR eeb TEXT = 'THIS IS THE BLIND CARBON TO LINE'
SET VAR eepart1 TEXT = ('mailto:'+.eet+'?subject='+.ees+'&cc='+.eec++
'&bcc='+.eeb+'&body=')
SET VAR vm_prtonelength INTEGER = (SLEN(.eepart1))
SET VAR vm_maxbodylen INTEGER = (4090 - .vm_prtonelength - 500)
SET VAR vm_currbodylen INTEGER = NULL
SET VAR vm_addedlen INTEGER = NULL
SET VAR vm_crlf = '%0%D'
SET VAR vm_counter INTEGER = 1
SET VAR eed NOTE = NULL
SET ERROR VARIABLE errvar
SET VAR vm_no_error INTEGER = 0
WHILE vm_no_error = 0 THEN
SET VAR vm_currbodylen = (SLEN(.eed))
SET VAR vm_info2add TEXT = 'THIS IS THE No '
SET VAR vm_lenaddinfo INTEGER = (SLEN(.vm_info2add))
SET VAR vm_addedlen = (.vm_currbodylen + .vm_lenaddinfo)
IF vm_addedlen <= .vm_maxbodylen THEN
SET VAR eed NOTE = ((.eed) + .vm_info2add)
SET VAR vm_no_error = .errvar
ELSE
SET VAR vm_no_error = 1
ENDIF
IF vm_no_error <> 0 OR vm_currbodylen >= 4090 THEN
SET VAR A TEXT = (CTXT(SLEN(.eed)) + +
' AT COUNT OF ' + (CTXT (.vm_counter)))
WRITE .A AT 10,10
BREAK
ENDIF
SET VAR vm_currbodylen = (SLEN(.eed))
SET VAR vm_info2add TEXT = (CTXT(.vm_counter))
SET VAR vm_lenaddinfo INTEGER = (SLEN(.vm_info2add))
SET VAR vm_addedlen = (.vm_currbodylen + .vm_lenaddinfo)
IF vm_addedlen <= .vm_maxbodylen THEN
SET VAR eed NOTE = ((.eed) + .vm_info2add)
SET VAR vm_no_error = .errvar
ELSE
SET VAR vm_no_error = 1
ENDIF
IF vm_no_error <> 0 OR vm_currbodylen >= 4090 THEN
SET VAR A TEXT = (CTXT(SLEN(.eed)) + +
' AT COUNT OF ' + (CTXT (.vm_counter)))
WRITE .A AT 10,10
BREAK
ENDIF
SET VAR vm_currbodylen = (SLEN(.eed))
SET VAR vm_info2add TEXT = ' SENTENCE IN THE PARAGRAPH THAT WILL '
SET VAR vm_lenaddinfo INTEGER = (SLEN(.vm_info2add))
SET VAR vm_addedlen = (.vm_currbodylen + .vm_lenaddinfo)
IF vm_addedlen <= .vm_maxbodylen THEN
SET VAR eed NOTE = ((.eed) + .vm_info2add)
SET VAR vm_no_error = .errvar
ELSE
SET VAR vm_no_error = 1
ENDIF
IF vm_no_error <> 0 OR vm_currbodylen >= 4090 THEN
SET VAR A TEXT = (CTXT(SLEN(.eed)) + +
' AT COUNT OF ' + (CTXT (.vm_counter)))
WRITE .A AT 10,10
BREAK
ENDIF
SET VAR vm_currbodylen = (SLEN(.eed))
SET VAR vm_info2add TEXT = (' APPEAR IN THE BODY OF THE EMAIL ' +
.vm_crlf)
SET VAR vm_lenaddinfo INTEGER = (SLEN(.vm_info2add))
SET VAR vm_addedlen = (.vm_currbodylen + .vm_lenaddinfo)
IF vm_addedlen <= .vm_maxbodylen THEN
SET VAR eed NOTE = ((.eed) + .vm_info2add)
SET VAR vm_no_error = .errvar
ELSE
SET VAR vm_no_error = 1
ENDIF
IF vm_no_error <> 0 OR vm_currbodylen >= 4090 THEN
SET VAR A TEXT = (CTXT(SLEN(.eed)) + +
' AT COUNT OF ' + (CTXT (.vm_counter)))
WRITE .A AT 10,10
BREAK
ENDIF
SET VAR vm_counter = (.vm_counter + 1)
IF vm_counter > 500 THEN
SET VAR A TEXT = (CTXT(SLEN(.eed)) + +
' AT COUNT OF ' + (CTXT (.vm_counter)))
WRITE .A AT 10,10
BREAK
ENDIF
ENDWHILE
SET VAR vemail NOTE = (.eepart1 +.eed)
SET VAR A TEXT = (CTXT(SLEN(.eed)) + ' AT COUNT OF ' + (CTXT
(.vm_counter)))
WRITE .A AT 12,25
LAUNCH &vemail
RETURN
> Lee Bailey wrote:
>
> Hello All-
>
> I've still got a problem that I am hoping someone will be able to help
> with.
>
> The below code, although lengthy and absurd, is very simple and shows
> the issue. The entire code string simply generates an email message
> in Microsoft Outlook. EET, EES, EEC, and EEB generate the "to:",
> "Subject line", "Carbon copy", and "blind carbon copy" respectively
> for the email. This part works fine.
>
> EED just assembles a number of sentences to form the body of the
> email.
>
> If you cut and paste the code at the R> prompt, you should be able to
> obtain the same results that I have found.
>
> If VEMAIL is left as a text field, the email will generate normally,
> but the body of the text will be abbreviated, as one would expect from
> a finite length for a text field.
>
> If VEMAIL is changed to a note field in order to get all of the
> assembled sentences, the message "RBG65 has caused an error in
> Kernal32.dll" appears-- and we are cooked.
>
> "A" is nothing more than counting the text characters in the body
> string. The count is actually 2979 characters-- well within the scope
> of the typical note field maximum of 5000 characters.
>
>
> SET QUOTES = '
> SET VAR EET NOTE = '[EMAIL PROTECTED]'
>
> SET VAR EES NOTE = 'THIS IS THE SUBJECT LINE'
> SET VAR EEC NOTE = 'THIS IS THE CARBON COPY TO'
> SET VAR EEB NOTE = 'THIS IS THE BLIND CARBON TO LINE'
> SET VAR EED NOTE = 'THIS IS THE #1 SENTENCE IN THE PARAGRAPH THAT WILL
> +
> APPEAR IN THE BODY OF THE EMAIL'
> SET VAR EED NOTE = (.EED + 'THIS IS THE #2 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #3 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #4 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #5 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #6 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #7 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #8 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #9 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #10 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #11 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #12 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #13 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #14 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #15 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #16 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #17 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #18 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #19 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #20 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #21 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #22 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #23 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #24 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #25 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #26 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #27 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #28 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #29 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #30 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #31 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #32 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #33 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #34 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #35 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
> SET VAR EED NOTE = (.EED + 'THIS IS THE #36 SENTENCE IN THE PARAGRAPH
> THAT +
> WILL APPEAR IN THE BODY OF THE EMAIL')
>
> *(the below gives the length of the body)
> SET VAR A INTEGER = (SLEN(.EED))
> WRITE .A AT 10,10
>
> SET VAR VEMAIL TEXT = +
> ('mailto:'+.EET+'?subject='+.EES+'&cc='+.EEC+'&bcc='+.EEB+'&body='+.EED)
> LAUNCH .VEMAIL
>
>
> Give it a try. I appreciate any help.
>
>
> Lee Bailey
>
> Bailey & Associates
> E-Mail: [EMAIL PROTECTED]
> Phone: 954-659-1780
> Fax: 954-659-1781