Web: Xojo 2017.2 - Crash - SMTP SocketConnectionType

I have a working app with Xojo 2017.1.x .
When I compiling the same app with Xojo 2017.2 I get a heavy crash with a shutdown of the complete app.

[Back with 2017.1.x works again.]

When I test it in the debugger of Xojo 2017.2 I see that the crash is in:


Does Xojo 2017.2 changing something in SMTPSockets?

I found a solution. If you have the same problem with Xojo 2017.2 and the SSL / ConnectionType of the SMTPSocket:

I used the “SSLv3” as ConnectionType.

Now with Xojo 2017.2 I change it to TLSv1 and it works again.

Hello @Marcel Zimmer,

Check the Release Notes for Xojo 2017 Release 2.
Xojo Inc - did remove SSLv2 and SSLv3 Connection Types from Xojo 2017 Release 2
Release Notes 2017 r2
(Look under Changes).

he still should get an error at compile, or at runtime saying this is a deprecated value ?

Well maybe.

The Feedback Case for this clearly says “Removed” not “Deprecated”!

(https://xojo.com/issue/47748)>]Feedback 47748

But yes it should not end in an Crash of the App. I think it should be caught while compiling the app.

No, the compiler doesn’t show an error.
That would be helpful when the compiler stops and show an error or hint.

All the compiler knows is that the value being assigned is an integer, not whether the value is valid or not.

This is one of those reasons to use the constants and not their integer values in code. They removed the constants (per the release notes) so that would have raised a compile time error.

because the connectiontype is an integer, not an enum, the compiler can only tell you that there is an error if you try to assign a string to it

beyond that ANY valid integer value could be assigned

you could literally have done

aSSLSocket.ConnectionType = 546

and its not a compile error - but its definitely a runtime error

realistically the connectiontype should be an enum so you cant do this wrong

changing to an enum would require a lot of code to update and we try to avoid requiring that kind of update