Avatar billede angelod Novice
29. januar 2002 - 19:27 Der er 11 kommentarer og
2 løsninger

Problem med BDE og InnoInstall

Jeg er ved at skrive et program som benytter en database, og skal derfor distribuere BDE (nej jeg vil ikke skifte til ADO da jeg benytter Delphi 4, og ADO kom først med fra Delphi 5).

Jeg kan skam også sagtens distribuere det, takket være Inno Install, men har dog mødt et enkelt irriterende problem.

Under installationen skriver BDE at der ikke er nok plads på destinationsdrevet, selvom der er rigeligt med plads. Dette sker ikke på alle computere, så jeg formoder det har noget at gøre med en talgrænse (f.eks. at den går til omkring 4 GB, for derefter at gå i minus).

Jeg håber der er nogle som har stødt på dette problem før, og som kan hjælpe mig. Det er ret vigtigt, hvilket er grunden til det relativt høje antal point. Det er sikkert ikke svært, kan bare ikke lige gennemskue det lige nu.
Avatar billede stoney Nybegynder
29. januar 2002 - 20:07 #1
Det er et kendt problem også i BDE 5.2
IDAPI32.DLL bruger GetDiskFreeSpace i stedet for GetDiskFreeSpaceEx til
"tælle" diskplads. Den tæller typisk forkert ved 2 og 4 GB LEDIG diskplads,
dog mest 4 GB.
Lad os sige du har en appl. kørende og bare virker perfekt med 4,3 GB diskplads ledig. Hvis du sletter 0,3 GB data (altså data som ikke har med din appl. at gøre) vil/kan din appl. begynde at brokke sig over manglende diskplads, selv om du intet har rørt ved applikation.

Så dit problem er at du har for meget LEDIG diskplads under install. tidspunktet.

Stoney
Avatar billede angelod Novice
29. januar 2002 - 20:20 #2
Ja det var jo også det jeg regnede med..

Jeg ville jo gerne vide hvad man kan gøre ved det, da det ser lidt uprofessionelt ud med en sådan besked.
Avatar billede stoney Nybegynder
29. januar 2002 - 20:38 #3
Jeg er gået væk fra BDE så jeg ved ikke hvad en evt. løsning kunne være.
Hvis du distibuere dine programmer på CD-ROM kunne du jo have en 200 MB
fil liggende på og kopiere ind på HD som fil1.dat og  fil2.dat alt efter behov og så slette den igen når programmet er installeret. Det er ikke kønt og formentligt også langsomt. Men jeg tror ikke du skal regne med at
Borland løser problemet, efter som de er stoppet med udviklingen på BDE.

Stoney
Avatar billede angelod Novice
29. januar 2002 - 22:41 #4
Hmm.. Ja det vil da være meget langsomt. Jeg har læst lidt på Borlands hjemmeside og set at de har et MSI Merge Module. Tror du det vil kunne bruges til noget? Og hvis ja, hvordan? :o)
Avatar billede stoney Nybegynder
30. januar 2002 - 00:42 #5
Nej, det tror jeg ikke. IDAPI32.DLL bliver stadig brugt.


Important Update Notes:
Due to missing exports in IDAPI32.DLL, Midas apps created with Delphi 3 will not work with BDE 5.1.1. If you are using Midas with Delphi 3, you need to use IDAPI32.DLL from BDE 5.1.0.

Jeg kan desværre dårligt huske hvad BDE/install egenligt gør, men kan du ikke skrive dit eget install. program.
Rent faktisk sidder jeg lige i øjeblikket over laver et install. program
til noget Lotus Notes.

Stoney
Avatar billede angelod Novice
30. januar 2002 - 00:53 #6
Damn.. Jamen så må jeg jo skrive at problemet kan opstå, eller noget.. Ser lidt "billigt" ud, men indtil jeg kan få fat i en ADO baseret version må det jo holde..

Men så er der et par sager med ADO jeg tænker på.. Hvor nemt vil det være at skifte? Og kan ADO også læse Paradox databaser? Det sidste er specielt vigtigt da brugere jo ikke så gerne skulle miste deres database ved installation af en update.
Avatar billede stoney Nybegynder
30. januar 2002 - 01:01 #7
Du kan bruge Microsoft JET

Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\Program Files\Common Files\Borland Shared\Data;
Extended Properties=Paradox 4.X  (hvilken version du nu bruger);


Stoney
Avatar billede angelod Novice
30. januar 2002 - 01:05 #8
Microsoft JET? Det er indenfor ADO vi snakker nu, ikke? :o)
Avatar billede stoney Nybegynder
30. januar 2002 - 01:20 #9
Jo det er.
Der findes ikke ADO drivere til paradox.
Men via ADO componenterne kan du connecte til paradox via JET.

Jeg har ikke testet, men prøv at lave en .udl fil (eks conn.udl) og dobbelt klik på den og se om du kan lave nogle tricks den vej. Jeg er ikke sikker men det er da et forsøg værd.

Stoney
Avatar billede angelod Novice
30. januar 2002 - 01:30 #10
Okay. Takker for din hjælp, Stoney. Er ikke kommet meget tættere på en løsning, men du skal alligevel have nogle point for din hjælp. :o)
Avatar billede stoney Nybegynder
30. januar 2002 - 01:34 #11
Jeg fandt lige en freeware ADO.
Det skal lige siges jeg kender den ikke.
http://www.deer-soft.com/

Men mon ikke du kan finde nogle selv

Stoney
Avatar billede angelod Novice
30. januar 2002 - 01:42 #12
Uha da. :o)

Jeg kigger på det, og hvis jeg kan bruge det får du de sidste 30 point imorgen (eller teknisk set senere idag ;) )
Avatar billede angelod Novice
30. januar 2002 - 01:42 #13
Øøøh.. 70 sæ'fø'li. :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester