Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

.Net er i grove trekk applikasjoner som trenger å samhandle med andre systemer med samme teknologi. Da spiller det ingen rolle om programmeringsspråket er basert på VB, Delphi eller andre .Net-kompatible systemer, eller forskjellige CPU'er og operativsystemer. Funksjonaliteten blir det vesentlige, slik som overføringsprotokoller, lagring av data, kryptografi etc..

.NET komponenter i Delphi er laget for å samhandle med slike applikasjoner, og .NET fra M$ må være installert på maskinen der et slikt program kjøres.

 

Win32-applikasjoner brukes som lokale programmer på en maskin hvor en felles databasert standard ikke er noen krav.

 

I grove trekk...

Lenke til kommentar

Jeg leste et sted at det ikke var noe mer "DLL hell" men er det ment med det at dll'er brukes, men siden programmet kompileres ved første gang så gjør det ikke noe om dll'ene forsvinner eller endrer versjon på PCen?

 

Og når det reffereres til COM objekter i Win32, hva er det en mener da?

Endret av kazzoo
Lenke til kommentar
  • 3 uker senere...

Jeg har nå startet med .Net men har fått et problem. Får kompilert og kjørt på denne pcen jeg sitter på. Men når jeg overfører .exe fila til andre pcer(har prøvd et par) så frå jeg følgende feilmelding: http://www.mediahump.com/?h=6729

 

Jeg har startet .exe fila fra samme lokasjon på flere pcen fra samme nettverks lokasjon.

 

Noen som har en anelse om hva det kan være?

 

Og samtidig, hva er forskjellen på .Net VCL Forms Application og .Net Windows Forms Application? Når skal hva brukes?

 

Forresten kjører alle pcene på Windows XP!

 

Fikk debugget litt og fikk da denne feilmeldingen Feilmelding

Endret av kazzoo
Lenke til kommentar

Jeg har ikke brukt .NET noe særlig selv, men jeg antar du har sjekket det enkleste; at .NET Framework er installert på de andre pc-ene? (.NET 1.x og 2.0 er ikke kompatible, såvidt jeg kan huske, så å ha .NET 2.0 installert hjelper ikke om det er en .NET 1.x assembly)

 

Windows Forms er komponentene som følger med .NET fra Microsoft.

VCL.NET er det gode gamle VCL'et oversatt til .NET, noe som betyr at å porte Win32-programmer (klassisk Delphi) til .NET er veldig mye lettere, samt at inngangsterskelen til .NET-programmering for Delphi-programmere blir lavere, siden de kan bruke de samme komponentene som de alltid har brukt.

Har du programmert .NET tidligere i andre språk er det nok greiest å bruke Windows Forms (med mindre VCL.NET har en del komponenter du trenger som Windows Forms ikke har); kommer du fra Delphi kan det være greit å bruke VCL.NET, hvertfall inntil du har taket på .NET.

 

Jeg tror det ble riktig, ikke skyt meg hvis det ikke ble det :p

Lenke til kommentar
Jeg har ikke brukt .NET noe særlig selv, men jeg antar du har sjekket det enkleste; at .NET Framework er installert på de andre pc-ene? (.NET 1.x og 2.0 er ikke kompatible, såvidt jeg kan huske, så å ha .NET 2.0 installert hjelper ikke om det er en .NET 1.x assembly)

 

Fant ut at det ikke gikk ann å overføer .Net applikasjoner fra en pc til en annen med bare å flytte EXE fila, må gjøres på en annen måte.3

 

Windows Forms er komponentene som følger med .NET fra Microsoft.

VCL.NET er det gode gamle VCL'et oversatt til .NET, noe som betyr at å porte Win32-programmer (klassisk Delphi) til .NET er veldig mye lettere, samt at inngangsterskelen til .NET-programmering for Delphi-programmere blir lavere, siden de kan bruke de samme komponentene som de alltid har brukt.

Har du programmert .NET tidligere i andre språk er det nok greiest å bruke Windows Forms (med mindre VCL.NET har en del komponenter du trenger som Windows Forms ikke har); kommer du fra Delphi kan det være greit å bruke VCL.NET, hvertfall inntil du har taket på .NET.

 

Jeg tror det ble riktig, ikke skyt meg hvis det ikke ble det :p

6292657[/snapback]

Høres ikke så dumt ut dette! Så blir nok VCL på meg framover!

Lenke til kommentar

Prøvde å åpne en dll som er laget i delphi Win32 i .Net VCL Forms Application, men fikk feilmeldingen "Test.dll not valid assembly, type library, or COM object". Den er brukt i Win32 tidligere.

Er det sånn at dller laget i Win32 ikke kan brukes i .Net, eller skyldes dette noe annet?

Lenke til kommentar
Fant ut at det ikke gikk ann å overføer .Net applikasjoner fra en pc til en annen med bare å flytte EXE fila, må gjøres på en annen måte.3

 

Versjonen av .Net framework som du har kompilert din applikasjon med (1.0, 1.1 eller 2.0) må være innstallert på maskiner som skal kjøre programmer laget i .Net

Lenke til kommentar
Fant ut at det ikke gikk ann å overføer .Net applikasjoner fra en pc til en annen med bare å flytte EXE fila, må gjøres på en annen måte.3

 

Versjonen av .Net framework som du har kompilert din applikasjon med (1.0, 1.1 eller 2.0) må være innstallert på maskiner som skal kjøre programmer laget i .Net

6299681[/snapback]

 

Jepp det har jeg funnet ut av og løst. Problemet jeg nå sliter med er:

Prøvde å åpne en dll som er laget i delphi Win32 i .Net VCL Forms Application, men fikk feilmeldingen "Test.dll not valid assembly, type library, or COM object". Den er brukt i Win32 tidligere.

Er det sånn at dller laget i Win32 ikke kan brukes i .Net, eller skyldes dette noe annet?

 

Er det vanligvis problemer med gamle dller i .Net eller er det bare noe fil med dllen jeg har?

Endret av kazzoo
Lenke til kommentar

Er det vanligvis problemer med gamle dller i .Net eller er det bare noe fil med dllen jeg har?

6299724[/snapback]

 

Slå opp i .Net hjelp under "dllImport attribute"->"about dllImport"

6300130[/snapback]

Fant i hjelpen:

You can call unmanaged Win32 APIs (and other unmanaged code) by prefixing the function declaration with the DllImport custom attribute. This attribute resides in the System.Runtime.InteropServices namespace, as shown below:

Eksempel:

[DllImport('user32.dll')]

function MessageBeep(uType : LongWord) : Boolean; external;

 

Men fikk da feilmeldingen: Cannot have both a DLLImport attribute and an external or calling convention directive (E2293)

 

Har ikke lagt inn noen andre dller selv, er bare det som er med initielt.

 

Litt mer beskrivelse av feilmeldingen:

The compiler emits DLLImport attributes internally for external function declarations. This error is raised if you declare your own DLLImport attribute on a function and use the external name clause on the function.

 

Prøvde også å legge den til med å bruke add reference; men fikk da feilmeldingen user32.dll is not a valid assembly, type library, or COM object.

 

Noen som har vært borti noe lignende og vet hvordan en kan komme seg rundt dette problemet?

Endret av kazzoo
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...