---
title: "late binding"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/111295-late-binding"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "aleborg"
published: "2004-09-10T13:02:17.000Z"
updated: "2004-09-11T10:24:21.000Z"
replies: 5
views: 559
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/111295-late-binding"
---

# late binding

## #1 — aleborg, 2004-09-10T13:02Z

Jag sitter med ett litet problem, faktureringsprogrammet vi använder kräver att man kör med "late binding" när man programmerar mot API:et från C#.
Hur mycket extra jobb är det att köra med late binding istället för early binding? 
Är det ens värt det eller ska vi skaffa nytt faktureringsprogram?

Permalänk: https://www.webforum.nu/p/111295

## #2 — Jon, 2004-09-10T20:14Z

Menar du jobbig kod med mera jobb? Det är inte särskilt myclet eller svår kod :)

Eller menar du att det kommer att bli slöare? I så fall: Ja men det borde inte vara ett problem om det inte är jättemycket jobb med jättemånga object som skapas.

Permalänk: https://www.webforum.nu/p/1434871

## #3 — Gladh, 2004-09-10T20:45Z

Det är inte mer kod att binda med "late binding" än med "early binding", du gör båda sakerna på 1-2 rader beroende på hur du kodar.

Visst tar det lite av prestandan att göra "late binding" men har man inget val så har man inte, och till ett fakturasystem så lär du inte märka av den lilla prestanaförlust det blir, eftersom ett fakturasystem till 90 % av tiden handlar om inmatning och då jobbar inte applikationen speciellt mycket.

\- M

Permalänk: https://www.webforum.nu/p/1434892

## #4 — aleborg, 2004-09-11T09:49Z

Men hur skulle det se ut?
Jag har fåttt följande kod som ska ändras till C#(inget svårt) och måste köras via late binding:

```
Dim oGBA As Object
Dim RetValue
'Creates the GBA object
Set oGBA = CreateObject("GBAAPI.GBA")

'Specifies the data location of the chosen client
RetValue = oGBA.SetClientPath("c:\program files\mamut\data\client\000\001")
If RetValue = 0 Then
    Response = MsgBox("The path to the client data location is incorrect.", 0, "MAMUT API")
End If

'Adds the contact object to the GBA object
Dim oContact
Set oContact = oGBA.CreateContactObject()
If TypeName(oContact) <> "Object" Then
        Response = MsgBox("An error occurred during the creation of the Contact object.", 0, "MAMUT API")
End If

'Create a new contact
RetValue = oContact.CreateNew()
If RetValue = 0 Then
    Response = MsgBox("An error occurred during creation of new contact.", 0, "MAMUT API")
End If

'Make changes to a contact (after it is retrieved/created)
oContact.ContName = "Mamut Ltd"
oContact.Street = "90 Long Acre"
oContact.City = "London"
oContact.Zipcode = "WC2E 9RZ"
oContact.Data56 = 1
```

En COM-referens(gbaapi.exe) har lagts till i projektet.

Permalänk: https://www.webforum.nu/p/1435080

## #5 — Jon, 2004-09-11T10:02Z

Om jag inte är helt nyvaken så tycker jag att det där ÄR late binding :)

Lite snabb googling för syntax i c#: <http://www.c-sharpcorner.com/1/call_com.asp>

Permalänk: https://www.webforum.nu/p/1435084

## #6 — aleborg, 2004-09-11T10:24Z

Jag provade med det här:

```
	public class Faktura
	{
		public bool CreateFaktura()
		{
			gbaapi.gba GBA = new gbaapi.gba();
			if(GBA.setclientpath(@"\\SERVER\Mamut\Data\Client\000\001").ToString()!="0")
			{	
				gbaapi.contactClass oContact = (gbaapi.contactClass)GBA.createcontactobject();
				int RetValue = oContact.createnew();
				if(RetValue==0)
				{
					oContact.contname = "Mamut Ltd";
					oContact.street = "90 Long Acre";
					oContact.city = "London";
					oContact.zipcode = "WC2E 9RZ";
					oContact.data56 = 1;
				
					return true;
				}
				else
					return false;
			}
			else
				return false;
		}
	}
```

Men det går inte alls, 
No overload for method 'createnew' takes '0' arguments

public virtual new System.Object createnew ( System.Int32 lnContid )
    Member of gbaapi.contactClass

Det visar inte manualen nått om! Enligt deras exempel så kräver den ju inget!

Permalänk: https://www.webforum.nu/p/1435100

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/111295-late-binding
