Nu känner jag mig dum... Efter att ha tjatat lite på Visma kollade en av deras programmerare på min kod.
Det visade sig att om man inte fyller upp strängen till önskad längd innan anropet så försöker den deallokera minne man aldrig använt... alltså Exception!!!
Det värsta är att jag redan testat det här, men jag måste ha gjort fel nånstans då...
Jaja, nu fungerar allt iaf, så tack till Visma
Det visade sig att om man inte fyller upp strängen till önskad längd innan anropet så försöker den deallokera minne man aldrig använt... alltså Exception!!!

Det värsta är att jag redan testat det här, men jag måste ha gjort fel nånstans då...
Jaja, nu fungerar allt iaf, så tack till Visma

Code:
public static string SPCSGetStr(int pDb, int iFieldID)
{
string result = new string(' ', 256);
SPCSTry(AdkGetStr(pDb, iFieldID, ref result, 256));
return result;
}
public static string SPCSGetError(ADKERROR error, ADK_ERROR_TEXT_TYPE errorType)
{
string str = new string(' ',256);
AdkGetErrorText(ref error, (int)errorType, ref str, 256);
return str;
}
t verkar kräva att strängen finns inlagd som artikelnummer för en artikel. Jag får värdet error.lRc = 50 (Kan ej hitta angiven artikel). Således måste jag först skapa en artikel som har artikelnumret "Hejsan Pelle", men detta vill jag undvika.
Nu kan jag, med koden nedan, ange att en faktura ska makuleras. En grej jag missade var att man måste anropa AdkUpdate() för att uppdateringen ska slå igenom. SPCS dokumentation nämner inte vilka heltal som svarar mot sant och falskt, men 1 respektive 0 verkar fungera.
Comment