Har byggt ett program som tar hjälp utav common dialog för att hämta en filväg. Kör på en Win2000-burk med vb5 installerat. När jag flyttar över programmet till en XP-burk så klagar den på att det inte är samma version på den. Jag hade SP6 till VB5 installerat förut också men när programmet inte fungerar så installera jag om det, utan framgång. Kanske ska tilläggas att det här programmet kommer köras på en massa olika burkar i framtiden, så att sitta och byta ut filerna på alla andra burkar är ej möjligt. Fungera inte. I VB5 måste man registrera en ocx för att det ska fungera. Det räcker inte att lägga den i samma mapp, det fungerar bara i .NET Använd API anropet istället för konttrollen. Slipper du problemet med OCX. Lade en batfil brevid som kopiera filen till systemmappen och registrera den. hmm vet inte men jag tror inte det e så bra att "Lade en batfil brevid som kopiera filen till systemmappen och registrera den." Lägg .ocx och dess .osa i samma mapp som du kör ditt projekt. Både Johans och Sven Åkes förslag funkar...nästan Problemen med ocx'en slipper om man använder API anrop istället. Det är mindre denägna att andras mella nversioner.Common Dialog, comdlg32.ocx
Hur ska jag nu göra? Är ett jäkla skit att det inte ska fungera :
Mvh Anders.Sv: Common Dialog, comdlg32.ocx
Sv: Common Dialog, comdlg32.ocx
Kan jag säga till programmet att den ska lsa ifrån det stället?Sv:Common Dialog, comdlg32.ocx
Sv: Common Dialog, comdlg32.ocx
Sv: Common Dialog, comdlg32.ocx
Tack för hjälpen!Sv:Common Dialog, comdlg32.ocx
Eftersom något annat program istället vill ha den version som du skrivit över, då kommer det inte funka istället för ditt.
Eller???
skulle gå på API funktionen istället..Sv: Common Dialog, comdlg32.ocx
När du exporterar projektet till annan dator, se till att .osa följer med.
Som vanligt slarvar ni med det jag kallar "ordning på kontor" ,
dvs skapa en mapp där hela projektet har sina tillbehör. Kör REGOCX32.exe.Sv:Common Dialog, comdlg32.ocx
Tyvärr är det så att om du kopierar in dll/ocx i windows system mappen, så KAN du skriva över en version som en annan applikation behöver. Då blir resultatet att ditt program funkar, men det andra slutar att funka. Ditt program slutar sedan att funka så fort som någon annan applikation skriver över filen igen.
Om du har din dll/ocx i din egen mapp, så funkar ditt program om du startar det "först". När det andra programmet startar, så finns redan din komponent laddad och har samma namn. Då funkar inte det programmet, men ditt funkar. Om det istället är så att det andra programmet startas först, så kommer ditt program hitta en komponent (den i windows system!) som är laddad, och använda den. Då funkar inte ditt program...
Det är Johans förslag som är det rekommenderade, med det är Sven Åkes som får ditt program att funka bäst. Vill du följa standard eller få program att funka till varje pris?
Detta beror på att man kan skapa inkompatibla komponeneter med samma interface (alltså signalera att de är kompatibla) - Välkommen till "dll-hell"
/mickeSv: Common Dialog, comdlg32.ocx