Gå til innhold

Anbefalte innlegg

1. Jeg har laget et delphi 7.0 program som krever filen midas.dll for å fungere. Hvorfor må den ha denne?

 

2. Plutselig så fungere ikke programmet mitt lenger uten at delphi er installert på maskinen jeg kjører det på. Prøver jeg på en annen maskin får jeg "don't send" boksen i XP (uten noen nyttig feilmelding). Hva kan det komme av?

Lenke til kommentar
Videoannonse
Annonse

Jeg bruker Delphi 7.0 professional.

 

1. Stemmer at jeg bruker clientdataset.

 

2. Takk for tipset. Feilen oppstår helt i starten av programmet. Det krasjer på linjen "Application.createForm(TFormMain, FormMain);" som er hovedformen min. Krasjen skjer før FormCreate eventen blir kjørt. Jeg regner med at en del kode blir kjørt her som er usynlig for meg, er det no mulighet å se hva som skjer før FormCreate ?

Lenke til kommentar
Jeg bruker Delphi 7.0 professional.

 

1. Stemmer at jeg bruker clientdataset.

 

2. Takk for tipset. Feilen oppstår helt i starten av programmet. Det krasjer på linjen "Application.createForm(TFormMain, FormMain);" som er hovedformen min. Krasjen skjer før FormCreate eventen blir kjørt. Jeg regner med at en del kode blir kjørt her som er usynlig for meg, er det no mulighet å se hva som skjer før FormCreate ?

1. Du må ha midas.dll på PCen, helst under system32 mappe (men du kan ha den hvor som helst). Den må du også registrere ved hjelp av regsvr32. For eksempel regsvr32 c:\myprog\midas.dll eller regsvr32 C:\WINNT\SYSTEM32\midas.dll

 

2. Ja, det stemmer. Det er constructor av formen som kjøres først og da er det bl.a. constructor av TCustomForm som leser inn alle komponenter fra resourcer. Da kjøres også constructor av alle disse før du kommer til OnCreate koden. Hvis noen av constructor rutiner kræsjer, feiler også mainforms constructor, og når mainform forsvinner, avsluttes programmet. Mitt forslag - prøv å fjerne en og en komponent fra formen for å se hva som skjer. Men kanskje registrering av midas hjelper (jeg tror ikke spesielt på dette siden du ikke kommer så langt som å åpne ClientDataset). Kanskje har du Active=True på ClientDataset i design modus? Sett til False og prøv på nytt, så åpner du den ved å kjøre ClientDataset.Open eller ClientDataset.CreateDataset (avhengig av hva du prøver å gjøre).

Lenke til kommentar
Kanskje har du Active=True på ClientDataset i design modus? Sett til False og prøv på nytt, så åpner du den ved å kjøre ClientDataset.Open eller ClientDataset.CreateDataset (avhengig av hva du prøver å gjøre).

 

 

Bingo.

Det var akkurat dette jeg hadde gjort. Når jeg satt

ClientdataSet.active := false;

og heller kjørte

ClientDataset.CreateDataset

i runtime, så funket alt som det skulle.

 

Takker og bukker. :thumbs:

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...