ThinkGeo.com    |     Documentation    |     Premium Support

Feature.MakeValid runs OutOfMemory exceptions

     I have a LineShape created after adding some vertex to it. Then before add it to a InMemoryFeatureLayer I check if not Feaure.IsValid andalso Feature.CanMakeValid. If the condition is true (the wrong feature can be make valid) I call Feature.MakeValid and the application runs out of memory no mather how much gigas it have installed.


    The good news is that in this case was really easy (only 1 hour) to extract a simple sample as you like:



    Dim MyProblematicFeature As New Feature(FromHexStr("0102000000BF0200003B4C5D6E7FA036C0F6285C8FC2351940D069039D36A036C08B4602BE79351940065BB0055BA036C0F6285C8FC23519403B4C5D6E7FA036C0F6285C8FC235194041A70D74DAA036C037D069039D361940AC89674523A136C0E259D148C0371940176CC1166CA136C064A8EC3075391940176CC1166CA136C0F9C5925F2C391940E17A14AE47A136C02301DFBC9A381940AC89674523A136C0E259D148C03719403B4C5D6E7FA036C0F6285C8FC23519403B4C5D6E7FA036C0610BB6600B361940A0D3063A6DA036C0F6285C8FC2351940065BB0055BA036C0F6285C8FC2351940A0D3063A6DA036C0F6285C8FC2351940D6C4B3A291A036C0F6285C8FC2351940065BB0055BA036C0F6285C8FC23519406BE259D148A036C08B4602BE79351940065BB0055BA036C0F6285C8FC23519406BE259D148A036C0F6285C8FC23519409B78563412A036C08B4602BE793519408A674523019F36C013CF8A46023E1940E4388EE3389E36C0A2B2C3D4E5361940E9933EE9939E36C04A9FF4499F341940547698BADC9E36C04A9FF4499F3419408A674523019F36C04A9FF4499F341940B9FD4186CA9E36C04A9FF4499F341940EFEEEEEEEE9E36C0B5814E1BE8341940547698BADC9E36C0B5814E1BE8341940EFEEEEEEEE9E36C04A9FF4499F3419408A674523019F36C04A9FF4499F341940B9FD4186CA9E36C04A9FF4499F3419401F85EB51B89E36C04A9FF4499F341940547698BADC9E36C0F6285C8FC23519406587A9CBED9F36C08EE3388EE33819402A3B4C5D6E9F36C02064A8EC3035194079563412F09D36C08B4602BE79351940A8EC3075B99D36C0CCED0F3254361940DEDDDDDDDD9D36C0F6285C8FC2351940192A3B4C5D9E36C0B5814E1BE83419407EB1E4174B9E36C0B5814E1BE8341940840C951DA69E36C04A9FF4499F3419401F85EB51B89E36C04A9FF4499F34194024E09B57139F36C04A9FF4499F34194024E09B57139F36C04A9FF4499F341940840C951DA69E36C04A9FF4499F341940192A3B4C5D9E36C0B5814E1BE8341940E4388EE3389E36C0B5814E1BE8341940B9FD4186CA9E36C04A9FF4499F3419404F1BE8B4819E36C04A9FF4499F341940840C951DA69E36C04A9FF4499F34194024E09B57139F36C04A9FF4499F3419408FC2F5285C9F36C0B5814E1BE8341940C5B3A291809F36C02064A8EC30351940CB0E5397DB9F36C0F6285C8FC235194035F1AC6824A036C0A2B2C3D4E5361940A0D3063A6DA036C08EE3388EE33819409B78563412A036C037D069039D3619405AD148C0379F36C0B5814E1BE834194024E09B57139F36C04A9FF4499F3419402A3B4C5D6E9F36C0B5814E1BE8341940C5B3A291809F36C02064A8EC303519402A3B4C5D6E9F36C0B5814E1BE83419406587A9CBED9F36C0610BB6600B361940D069039D36A036C00D951DA62E3719400000000000A036C0CCED0F32543619403096FC62C99F36C0F6285C8FC2351940D069039D36A036C00D951DA62E371940A0D3063A6DA036C02301DFBC9A381940D6C4B3A291A036C0A54FFAA44F3A1940065BB0055BA036C0B81E85EB5138194035F1AC6824A036C0A2B2C3D4E53619406BE259D148A036C0E259D148C0371940A0D3063A6DA036C02301DFBC9A381940D6C4B3A291A036C0279E158D043C1940D6C4B3A291A036C0E6F607192A3B1940D6C4B3A291A036C0A54FFAA44F3A19403B4C5D6E7FA036C03D0AD7A3703D19408FC2F5285C9F36C05813CF8A46421940192A3B4C5D9E36C05813CF8A464219402A3B4C5D6E9F36C0ED3075B9FD4119406587A9CBED9F36C0D6C4B3A2914019406587A9CBED9F36C0AC89674523411940A0D3063A6DA036C013CF8A46023E1940D6C4B3A291A036C07B14AE47E13A19406BE259D148A036C0E259D148C03719406587A9CBED9F36C0F6285C8FC23519400000000000A036C0CCED0F3254361940D069039D36A036C0A2B2C3D4E5361940065BB0055BA036C04D3C2B1A09381940065BB0055BA036C04D3C2B1A09381940A0D3063A6DA036C02301DFBC9A381940A0D3063A6DA036C0B81E85EB51381940D069039D36A036C00D951DA62E3719400000000000A036C0CCED0F32543619409B78563412A036C0CCED0F325436194035F1AC6824A036C037D069039D361940CB0E5397DB9F36C0F6285C8FC23519400000000000A036C0CCED0F3254361940D069039D36A036C0A2B2C3D4E53619406587A9CBED9F36C0610BB6600B3619406BE259D148A036C07777777777371940A0D3063A6DA036C02301DFBC9A38194035F1AC6824A036C0A2B2C3D4E536194035F1AC6824A036C037D069039D361940D069039D36A036C0A2B2C3D4E53619406587A9CBED9F36C0610BB6600B3619406587A9CBED9F36C0F6285C8FC2351940FAA44FFAA49F36C02064A8EC303519406587A9CBED9F36C0F6285C8FC23519406BE259D148A036C00D951DA62E3719400000000000A036C0610BB6600B3619403096FC62C99F36C08B4602BE793519403096FC62C99F36C08B4602BE793519400000000000A036C0610BB6600B3619400000000000A036C0610BB6600B3619400000000000A036C0610BB6600B361940CB0E5397DB9F36C0F6285C8FC235194035F1AC6824A036C037D069039D3619403B4C5D6E7FA036C02301DFBC9A381940065BB0055BA036C0E259D148C0371940D069039D36A036C0A2B2C3D4E5361940A0D3063A6DA036C04D3C2B1A093819403B4C5D6E7FA036C02301DFBC9A381940D6C4B3A291A036C03A6DA0D3063A1940D6C4B3A291A036C068452301DF3C19403B4C5D6E7FA036C013CF8A46023E19409B78563412A036C041A70D74DA401940951DA62EB79F36C0824E1BE8B44119409B78563412A036C041A70D74DA4019406BE259D148A036C00000000000401940A0D3063A6DA036C0547698BADC3E19403B4C5D6E7FA036C013CF8A46023E1940713D0AD7A3A036C051D961EA723B1940713D0AD7A3A036C0BCBBBBBBBB3B1940713D0AD7A3A036C092806F5E4D3C19403B4C5D6E7FA036C07EB1E4174B3E1940A0D3063A6DA036C0547698BADC3E1940D069039D36A036C06BE259D148401940D069039D36A036C06BE259D148401940065BB0055BA036C0951DA62EB73F1940D069039D36A036C06BE259D148401940D069039D36A036C06BE259D148401940D069039D36A036C06BE259D14840194035F1AC6824A036C0D6C4B3A2914019409B78563412A036C041A70D74DA40194035F1AC6824A036C041A70D74DA40194035F1AC6824A036C0D6C4B3A291401940951DA62EB79F36C0ED3075B9FD4119405AD148C0379F36C0C3F5285C8F421940BF58F28B259F36C0C3F5285C8F421940547698BADC9E36C02ED8822DD8421940B9FD4186CA9E36C02ED8822DD842194024E09B57139F36C02ED8822DD8421940547698BADC9E36C02ED8822DD84219405AD148C0379F36C0C3F5285C8F4219408FC2F5285C9F36C05813CF8A4642194035F1AC6824A036C0D6C4B3A291401940D6C4B3A291A036C068452301DF3C1940D6C4B3A291A036C03A6DA0D3063A1940D6C4B3A291A036C064A8EC3075391940713D0AD7A3A036C07B14AE47E13A1940D6C4B3A291A036C0A8EC3075B93D19409B78563412A036C041A70D74DA401940FAA44FFAA49F36C0ED3075B9FD411940C5B3A291809F36C05813CF8A46421940CB0E5397DB9F36C0176CC1166C4119406587A9CBED9F36C0176CC1166C411940D6C4B3A291A036C0A8EC3075B93D19403B4C5D6E7FA036C02301DFBC9A381940065BB0055BA036C04D3C2B1A09381940D6C4B3A291A036C03A6DA0D3063A19403B4C5D6E7FA036C08EE3388EE3381940713D0AD7A3A036C068452301DF3C1940FAA44FFAA49F36C0ED3075B9FD411940E4388EE3389E36C05813CF8A46421940DEDDDDDDDD9D36C0176CC1166C41194049C037AF269E36C0ED3075B9FD411940B4A291806F9E36C05813CF8A46421940EFEEEEEEEE9E36C0C3F5285C8F421940713D0AD7A3A036C0E6F607192A3B19403B4C5D6E7FA036C02301DFBC9A3819403B4C5D6E7FA036C02301DFBC9A381940A0D3063A6DA036C02301DFBC9A381940713D0AD7A3A036C0E6F607192A3B19409B78563412A036C0D6C4B3A2914019407EB1E4174B9E36C05813CF8A46421940DEDDDDDDDD9D36C0176CC1166C411940DEDDDDDDDD9D36C0176CC1166C411940AE47E17A149E36C0824E1BE8B4411940840C951DA69E36C05813CF8A46421940CB0E5397DB9F36C0951DA62EB73F1940713D0AD7A3A036C0E6F607192A3B1940065BB0055BA036C0E259D148C03719406BE259D148A036C0E259D148C0371940065BB0055BA036C0E259D148C0371940D6C4B3A291A036C03A6DA0D3063A1940D6C4B3A291A036C0FD62C92F963C194035F1AC6824A036C0D6C4B3A2914019407EB1E4174B9E36C05813CF8A464219403D0AD7A3709D36C02A3B4C5D6E3F194079563412F09D36C0AC8967452341194024E09B57139F36C0AC89674523411940065BB0055BA036C0A8EC3075B93D1940065BB0055BA036C04D3C2B1A093819409B78563412A036C0CCED0F3254361940CB0E5397DB9F36C0F6285C8FC23519403096FC62C99F36C08B4602BE79351940FAA44FFAA49F36C02064A8EC30351940951DA62EB79F36C08B4602BE793519403096FC62C99F36C0F6285C8FC2351940D069039D36A036C0A2B2C3D4E53619406587A9CBED9F36C0610BB6600B3619406587A9CBED9F36C0610BB6600B361940CB0E5397DB9F36C0F6285C8FC23519400000000000A036C0610BB6600B3619403096FC62C99F36C08B4602BE793519403096FC62C99F36C08B4602BE7935194035F1AC6824A036C037D069039D361940D069039D36A036C0A2B2C3D4E5361940A0D3063A6DA036C0B81E85EB513819403B4C5D6E7FA036C08EE3388EE3381940713D0AD7A3A036C051D961EA723B19406BE259D148A036C0951DA62EB73F1940CB0E5397DB9F36C0176CC1166C4119408FC2F5285C9F36C05813CF8A464219403096FC62C99F36C0176CC1166C4119409B78563412A036C06BE259D148401940D6C4B3A291A036C0279E158D043C19403B4C5D6E7FA036C02301DFBC9A381940D6C4B3A291A036C0CF8A4602BE391940D6C4B3A291A036C0A54FFAA44F3A1940713D0AD7A3A036C0BCBBBBBBBB3B1940A0D3063A6DA036C0547698BADC3E194035F1AC6824A036C06BE259D1484019403096FC62C99F36C0176CC1166C41194024E09B57139F36C0C3F5285C8F421940EFEEEEEEEE9E36C0C3F5285C8F421940EFEEEEEEEE9E36C0C3F5285C8F421940E9933EE9939E36C0C3F5285C8F421940547698BADC9E36C0C3F5285C8F421940602CF9C5929F36C0ED3075B9FD411940C5B3A291809F36C0ED3075B9FD411940BF58F28B259F36C0C3F5285C8F421940F5499FF4499F36C05813CF8A464219408A674523019F36C05813CF8A4642194049C037AF269E36C0ED3075B9FD411940A8EC3075B99D36C041A70D74DA401940EFEEEEEEEE9E36C0C3F5285C8F4219401F85EB51B89E36C0C3F5285C8F4219407EB1E4174B9E36C05813CF8A46421940DEDDDDDDDD9D36C0AC89674523411940436587A9CB9D36C041A70D74DA401940436587A9CB9D36C041A70D74DA401940192A3B4C5D9E36C041A70D74DA401940D8822DD8829D36C0000000000040194008192A3B4C9D36C0A8EC3075B93D1940A8EC3075B99D36C0D2277DD2273D1940B4A291806F9E36C0BF58F28B253F1940840C951DA69E36C0AC89674523411940F5499FF4499F36C0AC896745234119402A3B4C5D6E9F36C0176CC1166C411940F5499FF4499F36C05813CF8A464219407EB1E4174B9E36C05813CF8A464219407EB1E4174B9E36C05813CF8A46421940436587A9CB9D36C041A70D74DA401940DEDDDDDDDD9D36C0951DA62EB73F19404F1BE8B4819E36C0951DA62EB73F1940B4A291806F9E36C0D6C4B3A29140194049C037AF269E36C0951DA62EB73F194013CF8A46029E36C0AC8967452341194079563412F09D36C0AC8967452341194073FB830C959D36C06BE259D148401940192A3B4C5D9E36C05813CF8A464219405AD148C0379F36C0ED3075B9FD41194049C037AF269E36C0ED3075B9FD411940436587A9CB9D36C0AC89674523411940A8EC3075B99D36C0951DA62EB73F1940E9933EE9939E36C0A8EC3075B93D1940602CF9C5929F36C02301DFBC9A3819402A3B4C5D6E9F36C08B4602BE79351940F5499FF4499F36C0B5814E1BE83419408FC2F5285C9F36C0CCED0F32543619402A3B4C5D6E9F36C0F6285C8FC2351940EFEEEEEEEE9E36C08B4602BE79351940BF58F28B259F36C0CCED0F3254361940F5499FF4499F36C0F9C5925F2C391940BF58F28B259F36C010325476983A1940C5B3A291809F36C092806F5E4D3C19406587A9CBED9F36C0E9933EE9933E19406587A9CBED9F36C0A8EC3075B93D194035F1AC6824A036C02301DFBC9A381940951DA62EB79F36C0CCED0F32543619406587A9CBED9F36C0610BB6600B361940602CF9C5929F36C08B4602BE793519403096FC62C99F36C0A2B2C3D4E536194035F1AC6824A036C064A8EC3075391940065BB0055BA036C0BCBBBBBBBB3B19409B78563412A036C02A3B4C5D6E3F1940951DA62EB79F36C06BE259D148401940FAA44FFAA49F36C0AC896745234119402A3B4C5D6E9F36C0824E1BE8B44119409B78563412A036C0A8EC3075B93D194035F1AC6824A036C00D951DA62E371940C5B3A291809F36C02064A8EC30351940602CF9C5929F36C08B4602BE79351940FAA44FFAA49F36C0F6285C8FC2351940602CF9C5929F36C08B4602BE793519409B78563412A036C00D951DA62E3719409B78563412A036C0E259D148C03719405AD148C0379F36C05813CF8A46421940192A3B4C5D9E36C05813CF8A46421940436587A9CB9D36C041A70D74DA401940436587A9CB9D36C0D6C4B3A29140194049C037AF269E36C0E9933EE9933E1940436587A9CB9D36C03D0AD7A3703D1940A8EC3075B99D36C0547698BADC3E1940DEDDDDDDDD9D36C02A3B4C5D6E3F1940DEDDDDDDDD9D36C07EB1E4174B3E1940A8EC3075B99D36C0BF58F28B253F19407EB1E4174B9E36C0ED3075B9FD411940BF58F28B259F36C05813CF8A46421940F5499FF4499F36C05813CF8A46421940F5499FF4499F36C0ED3075B9FD4119402A3B4C5D6E9F36C0ED3075B9FD41194024E09B57139F36C05813CF8A4642194049C037AF269E36C013CF8A46023E194073FB830C959D36C0B81E85EB513819403D0AD7A3709D36C0E259D148C0371940D8822DD8829D36C0E259D148C03719400E74DA40A79D36C0E259D148C03719403D0AD7A3709D36C04D3C2B1A0938194008192A3B4C9D36C0F9C5925F2C39194008192A3B4C9D36C02301DFBC9A381940D8822DD8829D36C0777777777737194013CF8A46029E36C08B4602BE79351940192A3B4C5D9E36C0B5814E1BE83419404F1BE8B4819E36C04A9FF4499F341940840C951DA69E36C04A9FF4499F341940B9FD4186CA9E36C04A9FF4499F341940547698BADC9E36C04A9FF4499F341940EFEEEEEEEE9E36C04A9FF4499F341940EFEEEEEEEE9E36C04A9FF4499F341940EFEEEEEEEE9E36C0DFBC9A78563419408A674523019F36C0DFBC9A78563419405AD148C0379F36C04A9FF4499F341940F5499FF4499F36C04A9FF4499F3419405AD148C0379F36C04A9FF4499F3419408FC2F5285C9F36C0B5814E1BE8341940BF58F28B259F36C04A9FF4499F3419405AD148C0379F36C04A9FF4499F3419405AD148C0379F36C04A9FF4499F34194024E09B57139F36C04A9FF4499F3419408FC2F5285C9F36C04A9FF4499F341940602CF9C5929F36C02064A8EC303519403096FC62C99F36C08B4602BE79351940951DA62EB79F36C08B4602BE79351940951DA62EB79F36C08B4602BE793519406587A9CBED9F36C0610BB6600B361940D069039D36A036C0A2B2C3D4E5361940065BB0055BA036C0E259D148C0371940D6C4B3A291A036C0CF8A4602BE391940D6C4B3A291A036C068452301DF3C19403B4C5D6E7FA036C0A8EC3075B93D1940D6C4B3A291A036C068452301DF3C1940D6C4B3A291A036C0FD62C92F963C1940D6C4B3A291A036C0E6F607192A3B1940D6C4B3A291A036C03A6DA0D3063A1940713D0AD7A3A036C07B14AE47E13A1940D6C4B3A291A036C068452301DF3C1940A0D3063A6DA036C0BF58F28B253F19403096FC62C99F36C0824E1BE8B4411940F5499FF4499F36C0C3F5285C8F4219408FC2F5285C9F36C05813CF8A46421940F5499FF4499F36C0C3F5285C8F421940EFEEEEEEEE9E36C02ED8822DD8421940EFEEEEEEEE9E36C02ED8822DD842194024E09B57139F36C0C3F5285C8F42194024E09B57139F36C0C3F5285C8F421940F5499FF4499F36C05813CF8A46421940F5499FF4499F36C0C3F5285C8F4219405AD148C0379F36C0C3F5285C8F4219405AD148C0379F36C0C3F5285C8F421940B9FD4186CA9E36C0C3F5285C8F421940BF58F28B259F36C0C3F5285C8F4219405AD148C0379F36C0C3F5285C8F421940EFEEEEEEEE9E36C02ED8822DD84219408A674523019F36C0C3F5285C8F421940547698BADC9E36C02ED8822DD842194024E09B57139F36C0C3F5285C8F42194024E09B57139F36C0C3F5285C8F421940547698BADC9E36C02ED8822DD84219404F1BE8B4819E36C0C3F5285C8F4219407EB1E4174B9E36C05813CF8A46421940B4A291806F9E36C0C3F5285C8F421940192A3B4C5D9E36C05813CF8A46421940AE47E17A149E36C0ED3075B9FD411940AE47E17A149E36C0ED3075B9FD411940E4388EE3389E36C05813CF8A46421940AE47E17A149E36C0ED3075B9FD411940B4A291806F9E36C0C3F5285C8F4219407EB1E4174B9E36C05813CF8A46421940192A3B4C5D9E36C05813CF8A46421940B4A291806F9E36C0C3F5285C8F4219404F1BE8B4819E36C0C3F5285C8F4219407EB1E4174B9E36C05813CF8A4642194049C037AF269E36C0ED3075B9FD41194079563412F09D36C0824E1BE8B4411940DEDDDDDDDD9D36C0176CC1166C41194079563412F09D36C0824E1BE8B441194079563412F09D36C0824E1BE8B441194013CF8A46029E36C0824E1BE8B44119407EB1E4174B9E36C05813CF8A46421940192A3B4C5D9E36C05813CF8A464219407EB1E4174B9E36C05813CF8A46421940E4388EE3389E36C0ED3075B9FD4119407EB1E4174B9E36C05813CF8A46421940E9933EE9939E36C0C3F5285C8F4219404F1BE8B4819E36C05813CF8A46421940192A3B4C5D9E36C05813CF8A464219407EB1E4174B9E36C05813CF8A46421940AE47E17A149E36C0ED3075B9FD41194079563412F09D36C0824E1BE8B441194013CF8A46029E36C0824E1BE8B4411940DEDDDDDDDD9D36C0AC8967452341194073FB830C959D36C06BE259D148401940A8EC3075B99D36C041A70D74DA401940436587A9CB9D36C041A70D74DA401940D8822DD8829D36C0951DA62EB73F1940A391806F5E9D36C0547698BADC3E194008192A3B4C9D36C03D0AD7A3703D1940A391806F5E9D36C07EB1E4174B3E19400E74DA40A79D36C06BE259D14840194013CF8A46029E36C0824E1BE8B441194049C037AF269E36C0824E1BE8B4411940E9933EE9939E36C0C3F5285C8F4219402A3B4C5D6E9F36C0ED3075B9FD411940547698BADC9E36C0C3F5285C8F42194049C037AF269E36C0D6C4B3A2914019403D0AD7A3709D36C0279E158D043C194049C037AF269E36C02064A8EC30351940BF58F28B259F36C04A9FF4499F341940C5B3A291809F36C0B5814E1BE8341940951DA62EB79F36C08B4602BE79351940951DA62EB79F36C02064A8EC30351940602CF9C5929F36C02064A8EC303519406587A9CBED9F36C0610BB6600B3619403096FC62C99F36C08B4602BE793519406587A9CBED9F36C0610BB6600B36194035F1AC6824A036C037D069039D361940951DA62EB79F36C08B4602BE79351940FAA44FFAA49F36C02064A8EC303519403096FC62C99F36C08B4602BE793519400000000000A036C0CCED0F32543619406BE259D148A036C0E259D148C0371940A0D3063A6DA036C08EE3388EE33819403B4C5D6E7FA036C0CF8A4602BE391940713D0AD7A3A036C051D961EA723B1940065BB0055BA036C02A3B4C5D6E3F19408FC2F5285C9F36C05813CF8A464219404F1BE8B4819E36C0C3F5285C8F4219404F1BE8B4819E36C0C3F5285C8F421940EFEEEEEEEE9E36C0C3F5285C8F421940BF58F28B259F36C0C3F5285C8F4219408FC2F5285C9F36C05813CF8A464219406587A9CBED9F36C0AC896745234119406587A9CBED9F36C0AC896745234119409B78563412A036C0D6C4B3A2914019406BE259D148A036C02A3B4C5D6E3F19409B78563412A036C0D6C4B3A2914019403096FC62C99F36C0176CC1166C411940C5B3A291809F36C0ED3075B9FD411940547698BADC9E36C0C3F5285C8F4219404F1BE8B4819E36C0C3F5285C8F421940E9933EE9939E36C0C3F5285C8F421940547698BADC9E36C0C3F5285C8F421940F5499FF4499F36C05813CF8A46421940602CF9C5929F36C0ED3075B9FD411940CB0E5397DB9F36C0176CC1166C4119409B78563412A036C041A70D74DA401940D069039D36A036C06BE259D1484019408A674523019F36C0C3F5285C8F421940547698BADC9E36C0C3F5285C8F421940E9933EE9939E36C0C3F5285C8F4219407EB1E4174B9E36C05813CF8A46421940B4A291806F9E36C0C3F5285C8F421940B4A291806F9E36C0C3F5285C8F421940840C951DA69E36C0C3F5285C8F421940B9FD4186CA9E36C0C3F5285C8F421940F5499FF4499F36C0C3F5285C8F421940C5B3A291809F36C05813CF8A46421940602CF9C5929F36C0ED3075B9FD411940602CF9C5929F36C0ED3075B9FD411940F5499FF4499F36C0C3F5285C8F421940B9FD4186CA9E36C0C3F5285C8F42194049C037AF269E36C05813CF8A4642194049C037AF269E36C05813CF8A46421940192A3B4C5D9E36C0C3F5285C8F421940B4A291806F9E36C0C3F5285C8F421940192A3B4C5D9E36C0C3F5285C8F421940E9933EE9939E36C02ED8822DD8421940B9FD4186CA9E36C02ED8822DD8421940547698BADC9E36C0C3F5285C8F4219405AD148C0379F36C0C3F5285C8F42194024E09B57139F36C0C3F5285C8F421940B4A291806F9E36C05813CF8A4642194013CF8A46029E36C0824E1BE8B441194079563412F09D36C0824E1BE8B441194079563412F09D36C0824E1BE8B441194079563412F09D36C0824E1BE8B4411940AE47E17A149E36C0ED3075B9FD41194049C037AF269E36C05813CF8A46421940E4388EE3389E36C05813CF8A46421940B4A291806F9E36C0C3F5285C8F421940E4388EE3389E36C0ED3075B9FD41194049C037AF269E36C0824E1BE8B441194013CF8A46029E36C0176CC1166C41194013CF8A46029E36C0824E1BE8B441194013CF8A46029E36C0824E1BE8B4411940A8EC3075B99D36C041A70D74DA4019400E74DA40A79D36C041A70D74DA401940436587A9CB9D36C0AC896745234119408A674523019F36C0C3F5285C8F421940AE47E17A149E36C0ED3075B9FD411940A8EC3075B99D36C041A70D74DA40194049C037AF269E36C0AC89674523411940C5B3A291809F36C07EB1E4174B3E1940713D0AD7A3A036C0BCBBBBBBBB3B19403B4C5D6E7FA036C07EB1E4174B3E1940C5B3A291809F36C0ED3075B9FD411940B4A291806F9E36C05813CF8A46421940A8EC3075B99D36C041A70D74DA40194073FB830C959D36C0D6C4B3A29140194073FB830C959D36C0D6C4B3A291401940436587A9CB9D36C0AC8967452341194079563412F09D36C0176CC1166C411940A8EC3075B99D36C041A70D74DA401940DEDDDDDDDD9D36C0AC89674523411940FAA44FFAA49F36C000000000004019403B4C5D6E7FA036C092806F5E4D3C194035F1AC6824A036C0A2B2C3D4E5361940FAA44FFAA49F36C08B4602BE79351940C5B3A291809F36C02064A8EC303519408FC2F5285C9F36C0B5814E1BE8341940C5B3A291809F36C02064A8EC30351940FAA44FFAA49F36C0610BB6600B361940A0D3063A6DA036C08EE3388EE33819403B4C5D6E7FA036C013CF8A46023E1940C5B3A291809F36C05813CF8A464219401F85EB51B89E36C0C3F5285C8F4219409B78563412A036C0D2277DD2273D19406BE259D148A036C077777777773719406BE259D148A036C07777777777371940065BB0055BA036C0E259D148C03719409B78563412A036C0A2B2C3D4E53619409B78563412A036C0A2B2C3D4E53619409B78563412A036C0A2B2C3D4E5361940A0D3063A6DA036C0F9C5925F2C391940A0D3063A6DA036C07EB1E4174B3E19408A674523019F36C0C3F5285C8F421940B9FD4186CA9E36C0824E1BE8B44119400000000000A036C0547698BADC3E1940065BB0055BA036C08EE3388EE3381940602CF9C5929F36C02064A8EC303519408FC2F5285C9F36C04A9FF4499F341940F5499FF4499F36C0B5814E1BE83419408FC2F5285C9F36C0B5814E1BE8341940C5B3A291809F36C0B5814E1BE8341940FAA44FFAA49F36C02064A8EC30351940FAA44FFAA49F36C02064A8EC30351940CB0E5397DB9F36C0F6285C8FC2351940D069039D36A036C0E259D148C0371940065BB0055BA036C02301DFBC9A381940A0D3063A6DA036C02301DFBC9A381940D6C4B3A291A036C03A6DA0D3063A19406BE259D148A036C077777777773719406587A9CBED9F36C0610BB6600B3619406587A9CBED9F36C0610BB6600B361940D069039D36A036C00D951DA62E3719403B4C5D6E7FA036C064A8EC30753919403B4C5D6E7FA036C0F9C5925F2C391940A0D3063A6DA036C0CF8A4602BE391940D6C4B3A291A036C051D961EA723B1940065BB0055BA036C0BF58F28B253F19405AD148C0379F36C0C3F5285C8F4219405AD148C0379F36C05813CF8A46421940FAA44FFAA49F36C0AC89674523411940C5B3A291809F36C0ED3075B9FD411940CB0E5397DB9F36C0D6C4B3A29140194035F1AC6824A036C06BE259D1484019400000000000A036C0D6C4B3A29140194035F1AC6824A036C06BE259D1484019409B78563412A036C0D6C4B3A2914019403096FC62C99F36C0824E1BE8B4411940F5499FF4499F36C05813CF8A4642194024E09B57139F36C0C3F5285C8F4219408A674523019F36C0C3F5285C8F421940B9FD4186CA9E36C0C3F5285C8F421940840C951DA69E36C05813CF8A464219404F1BE8B4819E36C041A70D74DA4019408A674523019F36C0547698BADC3E1940951DA62EB79F36C02A3B4C5D6E3F19403B4C5D6E7FA036C0D2277DD2273D19400000000000A036C041A70D74DA401940840C951DA69E36C0C3F5285C8F4219400000000000A036C041A70D74DA4019409B78563412A036C0D6C4B3A291401940CB0E5397DB9F36C0176CC1166C411940D069039D36A036C000000000004019406BE259D148A036C0951DA62EB73F19409B78563412A036C06BE259D148401940065BB0055BA036C0E9933EE9933E1940FAA44FFAA49F36C0E9933EE9933E1940C5B3A291809F36C0FD62C92F963C19403096FC62C99F36C0E6F607192A3B19406587A9CBED9F36C0A54FFAA44F3A1940C5B3A291809F36C0D2277DD2273D19401F85EB51B89E36C041A70D74DA401940F5499FF4499F36C05813CF8A46421940CB0E5397DB9F36C0AC89674523411940547698BADC9E36C0C3F5285C8F42194024E09B57139F36C0C3F5285C8F4219403096FC62C99F36C0176CC1166C4119406587A9CBED9F36C041A70D74DA4019409B78563412A036C00000000000401940D069039D36A036C0951DA62EB73F19409B78563412A036C06BE259D1484019408FC2F5285C9F36C0ED3075B9FD411940547698BADC9E36C0C3F5285C8F421940FAA44FFAA49F36C0824E1BE8B4411940602CF9C5929F36C0824E1BE8B44119408FC2F5285C9F36C05813CF8A46421940FAA44FFAA49F36C0824E1BE8B4411940FAA44FFAA49F36C0176CC1166C411940F5499FF4499F36C0ED3075B9FD4119405AD148C0379F36C05813CF8A46421940BF58F28B259F36C0ED3075B9FD4119407EB1E4174B9E36C0951DA62EB73F1940D8822DD8829D36C0BCBBBBBBBB3B194008192A3B4C9D36C08EE3388EE338194073FB830C959D36C0A2B2C3D4E5361940A8EC3075B99D36C0CCED0F325436194008192A3B4C9D36C02301DFBC9A381940D2277DD2279D36C010325476983A1940A391806F5E9D36C03A6DA0D3063A19403D0AD7A3709D36C0B81E85EB5138194073FB830C959D36C07777777777371940436587A9CB9D36C0A2B2C3D4E5361940DEDDDDDDDD9D36C0CCED0F325436194013CF8A46029E36C08B4602BE79351940DEDDDDDDDD9D36C0610BB6600B361940AE47E17A149E36C08B4602BE793519404F1BE8B4819E36C0B5814E1BE83419404F1BE8B4819E36C04A9FF4499F341940BF58F28B259F36C04A9FF4499F341940BF58F28B259F36C04A9FF4499F3419408A674523019F36C04A9FF4499F341940602CF9C5929F36C02064A8EC30351940FAA44FFAA49F36C02064A8EC30351940602CF9C5929F36C02064A8EC30351940FAA44FFAA49F36C02064A8EC303519403096FC62C99F36C08B4602BE79351940FAA44FFAA49F36C02064A8EC303519403096FC62C99F36C08B4602BE79351940CB0E5397DB9F36C0F6285C8FC235194035F1AC6824A036C037D069039D36194035F1AC6824A036C037D069039D36194035F1AC6824A036C037D069039D361940D069039D36A036C00D951DA62E3719400000000000A036C0CCED0F3254361940CB0E5397DB9F36C0F6285C8FC2351940CB0E5397DB9F36C0F6285C8FC2351940602CF9C5929F36C02064A8EC30351940951DA62EB79F36C08B4602BE793519403096FC62C99F36C0F6285C8FC23519400000000000A036C0CCED0F32543619406587A9CBED9F36C0610BB6600B361940CB0E5397DB9F36C0F6285C8FC2351940CB0E5397DB9F36C0F6285C8FC23519406587A9CBED9F36C0610BB6600B3619409B78563412A036C037D069039D3619400000000000A036C0CCED0F32543619406587A9CBED9F36C0610BB6600B361940602CF9C5929F36C02064A8EC30351940CB0E5397DB9F36C0F6285C8FC235194035F1AC6824A036C0A2B2C3D4E53619406BE259D148A036C077777777773719406BE259D148A036C00D951DA62E3719400000000000A036C0610BB6600B3619406587A9CBED9F36C0610BB6600B36194035F1AC6824A036C0A2B2C3D4E5361940065BB0055BA036C04D3C2B1A09381940065BB0055BA036C0E259D148C0371940D6C4B3A291A036C0A54FFAA44F3A1940065BB0055BA036C0547698BADC3E1940065BB0055BA036C0BF58F28B253F19406587A9CBED9F36C0AC896745234119400000000000A036C06BE259D1484019406BE259D148A036C0951DA62EB73F1940D069039D36A036C000000000004019406BE259D148A036C02A3B4C5D6E3F19403B4C5D6E7FA036C013CF8A46023E1940D6C4B3A291A036C068452301DF3C1940"))


    MsgBox("Is Valid? : " & MyProblematicFeature.IsValid)


    'MsgBox("Look at the memory consumption at the system monitor, the application will crash soon...")


    MyProblematicFeature = MyProblematicFeature.MakeValid()


    MsgBox("And now? : " & MyProblematicFeature.IsValid)


 


 


   Function FromHexStr(ByVal HexStr As String) As Byte()


    'Combierte una cadena de entrada de valores hexadecimales en un array de bytes


    Dim S As String = HexStr


    Dim SS As String = ""


 


    'Añade un cero a la izquierda en caso necesario


    If (S.Length Mod 2) <> 0 Then S = "0" & S


 


    'Se pasa a una cadena de caracteres


    For K As Integer = 0 To S.Length - 1 Step 2


      SS &= Chr("&H" & Microsoft.VisualBasic.Strings.Mid(S, K + 1, 2))


    Next


 


    Return System.Text.Encoding.GetEncoding(1252).GetBytes(SS)


 


  End Function


 


  Function Chr(ByVal CharCode As Integer) As String


    Return System.Text.Encoding.GetEncoding(1252).GetString(New Byte() {CharCode And "&HFF"})


  End Function



 


  What is wrong?


 



Hi Carlos,
 
Thanks for the sample :), I dug into this and found the exception is from the Sql Types, I’ve posted a forum on MSDN, you can find it here if you’re interested in. For your case, I think you can set the BaseShape.GeometryLibrary = GeometryLibrary.Managed as a workaround first. In this way, the feature cannot be made valid because managed mode has no such method. I’ll let you know the result from MSDN.
 
Thanks,
Edgar

Thanks a lot Edgar. 
  
 Will GeometryLibrary = Managed be deprecated with 7.0 release? Is there any problem in switching between managed and unmanaged at run time? 
  


Hi Carlos, 
  
 In coming 7.0 release, we will not deprecate the “GeometryLibrary = Managed” property. For Managed and Unmanaged, there are a bit different, the geometry validation of unmanaged one is a bit stricter than the Managed one, so it will do a strict checking before doing some geo-processing, such as transform, calculation, intesection and so on. It’s ok to switch these 2 option in run time. 
  
 Thanks, 
 Johnny  
  


Hi Johnny, 
  
  You told me “GeometryLibrary = Managed” wasn’t going to be deprecated, but I just installed v7 and the property is not there at all (at least in BaseShape). Did you deprecate it finally or do I miss something?

Hi Carlos,  
  
 Sorry we remove the GeometryLibrary = Managed at last, because the SQLTypes introduced too many problems and it makes the produce not stable. 
  
 For now, all the logic works for NTS again, if you still want to use the feature for SQLTypes, I think you can find a class named SqlTypesGeometryHelper in MapSuiteCore. 
  
 Regards, 
  
 Don

Hi Don, 
  
  If you are no longer using SQLTypes, why Microsoft.SqlServer.Types.dll library is still included in the package?

Hi Carlos, 
  
 We leave the dll in package, because the class SqlTypesGeometryHelper still need it. 
  
 If customer don’t need use this class, so this dll can be deleted. 
  
 Regards, 
  
 Don