Signatur Skrevet 14. januar 2004 Skrevet 14. januar 2004 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?
Format71 Skrevet 14. januar 2004 Skrevet 14. januar 2004 Hvilken delphi-versjon har du? 1. Du bruker en komponent som er avhengig av midas.dll - f.eks. ClientDataset 2. Forsøk å legg inn noen 'ShowMessages' i koden din slik at du kan se hvor langt ting kjører før det tryner. -Vegar
Signatur Skrevet 14. januar 2004 Forfatter Skrevet 14. januar 2004 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 ?
Format71 Skrevet 15. januar 2004 Skrevet 15. januar 2004 Hvis du har D7 Pro har du også all kildekode til vcl'et. Mao kan du lese deg til absolutt alt som skjer. Men er dette problemet relatert til det første problemet? Kan det være at siden du ikke har midas.dll så kræsjer også andre ting?
DidzisK Skrevet 15. januar 2004 Skrevet 15. januar 2004 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).
Signatur Skrevet 15. januar 2004 Forfatter Skrevet 15. januar 2004 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.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå