OK, thanks for the feedback.
The previous version of the VBA worked swell with the
VB.NET when using .NET
1.1 framework. The API writers mandated a migration to the .NET 2.0
framework and the VBA app no longer could accept the return value from the
function, EntitySuccessType due to:
<quote
compatibilty issue involving nullable primitives and DotNet Framework 1.1.
Our V3 WSDLs use Nullable primitives (a feature fully supported by DotNet
Framework 2.0 and greater but not 1.1) this explains why developers using the
older DotNet Framework 1.1 experience this issue.
I would suggest that those who use DotNet Framework 1.1 migrate to DotNet
Framework 2.0 (or above) for an immediate workaround (not to mention the
long-term benefits of migrating to the newer framework).
NOTE: Current users of DotNet Framework 2.0 or above and Java/Perl/PHP/etc.
users are NOT affected by this issue, please continue migrating to our V3
WSDLs if you have not already done so.
</quote
So before the migration the code:
<prev
Dim result = Object
Set result = API.AddCampaigns(AccountID, var)
Dim created() As EntitySuccessType
created = result.SuccessRow
Dim i As Integer
For i = LBound(created) To UBound(created)
'Store the newly created accountIDS
</prev
So I attempted to return an array of ID's to work around the documented
problem. While debugging the .NET, I can see my array being built I just
cannot wrap my brain around how to pass this back to my VBA - calling routine
from this
VB.NET function.
"NickHK" wrote:
Unless I'm missing something, you're trying to set an unitialised array of
longs equal to an object :
Dim result As Object
Dim aResults() As Long
Set result = API.AddCampaigns(AccountID, var)
aResults = result
NickHK
"Okiebug" wrote in message
...
I am having issues after upgrading the VB.NET to use .NET 2 as needed per
a
Web Service.
I am having problems with the return variable from the VB.NET to the VBA
code:
VBA invoked from Excel:
<code
Public Sub MSNAddTemplateCampaigns(ByVal AccountID As Long, ByRef
MonthlyBudget As Long)
Dim API As New ADcenter.API
Dim result As Object
Dim Row As Integer
Dim aResults() As Long
Dim Campaigns() As ADcenter.AdCenterCampaign
Dim var As Variant
Dim sheet As Worksheet