Avatar billede fhansen Praktikant
02. april 2007 - 21:51 Der er 17 kommentarer og
1 løsning

Mit program vil ikke starte, det dog kørt i 6 mdr.

Mit program vil ikke længere starte op, det lukker ned under start, uden nogen fejl meddelse.
Det er et database program, som desværre kører på en gammel Paradox database, jeg vil mene at det har noget med disse tabeller at gøre for efter at have flyttet databasen over på en anden maskine, vil programmet nu heller ikke køre  på denne.

Jeg har lavet et lille program til at checke databasen, og her kan jeg se alle tabeller uden problemmer.

Jeg har ingen ide om hvad der der foregår, og håber at nogen kan hjælpe med ideer.

Jeg har kørt alle mulige virus check.


Finn
Avatar billede a_nor Nybegynder
03. april 2007 - 00:15 #1
Hej Finn,

ikke for at virke sur eller noget der tilnærmer, MEN ...  Du har stillet 64 spm herinde og kun ulejliget dig med at uddele point i mindre end 21 af dem  ? ? ?
Altså 43 !! åbne, selvom der ligger flere svar og venter.

Selvfølgelig kan man ikke bruge pointene til noget (endnu ??), men det mindste man kan gøre, efter man har ulejliget folk, er vel at give dem lidt point ? ?

mvh Anders
Avatar billede kroning Nybegynder
03. april 2007 - 00:34 #2
Brug debuggeren til at finde den kode linie der lukker programmet.
Avatar billede hrc Mester
03. april 2007 - 08:30 #3
Sikken' gnier... Syntes også du var hurtig til at afvise mit svar.
Avatar billede fhansen Praktikant
04. april 2007 - 00:38 #4
Er bestemt ikke en gnier og deler da meget gerne ud, men er måske ikke lige den bedste til at få spurgt efter et svar, når et problem er blevet løst.

Jeg vil gerne lige sige at jeg synes dette er et fantastisk sted, med en masse kloge hoveder, hvor jeg har fået megen god hjælp, rigtig meget hjælp, jeg ville da være et kvaj hvis jeg fornærmede folk herinde, det er der bestemt ingen der fortjener.

Jeg synes det er fantastisk at der folk der gider bruge deres tid, på at hjælpe amatør som mig, og håber da at jeg en dag kan betale tilbage.


Hilsen

Finn
Avatar billede fhansen Praktikant
04. april 2007 - 00:40 #5
Jeg har skam prøvet med debugger, men min maskine bliver slået helt ned hver gang, og genstartes.
Avatar billede kroning Nybegynder
04. april 2007 - 07:45 #6
jo, men så ved du vel ved hvilken kode linie det går galt?
Avatar billede fhansen Praktikant
04. april 2007 - 10:56 #7
Nej mine vinduer, bliver bare hvide uden tekst, men er dog kommet lidt nærmere, i det at jeg har fundet ud af at fejlen ligger ved paradox tabeller derbliver hentet data i. Sletter jeg data i den ene eller den anden kører programmet.

Vil ville ønske at kunne flytte disse tabeller over i Mysql, desværre er der andre programmer der også bruger disse data.


Finn
Avatar billede a_nor Nybegynder
04. april 2007 - 11:29 #8
Du får åbenbart "kvast" programafviklingen. Dette sker ofte ved at nogle variable bliver fyldt ud over hvad de er designet til.
Ex.
function x(var a:integer):integer;
var b: string[2];
begin
b:= '123456';
end;
Her kan overfyldningen af b betyde at a-adressen kværnes, men også at funktionens returadresse bliver ødelagt, hvorved du kan få en gp-error eller debuggeren går ned eller delphi-går ned. (eksemplet holder måske ikke men logikken i fejlmuligheden afspejles)
Avatar billede hrc Mester
05. april 2007 - 23:09 #9
Har du overvejet - nu du bruger Paradox - at det kunne være et defekt indeks i en af tabellerne? Det plejer at resultere i noget lignende. De indeks er Paradox' svøbe!

I øvrigt glemte jeg nok at føje en smiley på i mit forrige indlæg.
Avatar billede fhansen Praktikant
07. april 2007 - 00:30 #10
a nor jeg var da i den tro at delphi selv handlede den slags error.

hrc jeg har tit prøvet at Paradox indexene bliver ødelagt, af hvilken grund har jeg aldrig fundet ud af.



Jeg er kommet frem til at det er en fejl ved en sqlquery, i hvertfald opstår fejlen ikke når jeg, når jeg fjerner denne function, i linien CHData.Visible:= CheckDate;


procedure TMainFrm.FormActivate(Sender: TObject);
begin
  CHData.Visible:= CheckDate;
  PageC.ActivePage := ClientPage;
  LoadClientSql('Select * from (kunder AS Cl Right join Bådplads AS Bd '+
                  'on Bd.kunde_nummer = Cl.Nummer ) '+
                  'join Andel AS Ad on Ad.Plads = Bd.Plads '+
                  'Order BY %S','Bd.Plads');

  StatusBar1.Panels[0].Text := IntToStr(Data.Client.RecordCount)+' poster';
  StatusBar1.Panels[1].Text := 'Andelshaver';
  Plads1.Visible := True;
  Msearch := 1;
  MviewWriter;
  EdCliSejlklub.Items.LoadFromFile(ExtractFilePath(Application.ExeName)+'Klub.str');
end;
Avatar billede hrc Mester
08. april 2007 - 09:54 #11
Det får mig til at mistænke indekserne endnu mere. Hvis du har mulighed for det, såskift databasen. Selv Access er bedre.
Avatar billede fhansen Praktikant
08. april 2007 - 11:04 #12
Jeg vil meget gerne skifte, men desværre er der et andet program der bruger dataerne også, jeg er så småt begyndt at skifte de tabeller der mit program bruger ud til Mysql, men jeg er ikke helt på toppen med dbxpress, jeg synes det langsomt og besværligt, men der er sgu så mange fordele ved sql., Senest har jeg været inde og kigge på foreign keys, og det er da en ting jeg skal have lagt ind i min database

Det er flg. sql der slår programmet ned.

LoadClientSql2('SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer  FROM kunder AS Cl, Leje AS Lj, Udlejsliste AS Ul '+
                  'WHERE Cl.Nummer = Lj.Kunde AND Lj.Tdato < :Cdate '+
                  ' UNION '+
                  'SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer FROM kunder AS Cl,  Udlejsliste AS Ul '+
                  'Where Cl.Nummer = Ul.Kunde_Nummer AND Tdate < :Cdate '+
                  ' UNION '+
                  'SELECT Cl.Nummer, Cl.Navn, Cl.Adresse, Cl.Postnummer, Cl.city, Cl.Hjtlf, Cl.Motlf, Cl.Arbtlf, cl.mail, Cl.Clitype, Cl.Sejlklub, Cl.Note, Cl.Klubnummer FROM kunder AS Cl,  VenteListe AS Vl '+
                  'Where Cl.Nummer = Vl.Kunde_Nummer AND Tdato < :Cdate '+
                  ' ORDER By %S','Cl.Navn');

Jeg fandt frem til at det var her fejlen lå, da jeg var ved at lave en sql, med UNION i et andet lille tillægsprogram, her skete samme fejl, fordi jeg havde lavet en fejl.

Finn
Avatar billede hrc Mester
08. april 2007 - 19:20 #13
Når du markerer et felt som primærnøgle bliver der også automatisk oprettet et søgeindeks. Hvis du refererer til sådanne felter via fremmednøgler vil det alt andet lige blive noget hurtigere.
Avatar billede fhansen Praktikant
10. april 2007 - 01:03 #14
Tror jeg vil prøve at lave en MYsql database med alle tabeller, i håbet om at jeg kan komme til slippe af med de gamle paradox tabeller.
Om ikke andet kan jeg vel lære lidt om det.

Hvad med at i ligger et par svar.
Avatar billede hrc Mester
10. april 2007 - 09:25 #15
Held og lykke. Paradox er nok ret fornuftig at komme bort fra.
Avatar billede nillinx Nybegynder
20. april 2007 - 09:14 #16
Hvilken db skal man så bruge?
Avatar billede hrc Mester
20. april 2007 - 11:28 #17
Det er et spørgsmål om man er til ketchup eller sennep. Blandt de gratis baser er Firebird og MySql de kendteste.

Da Firebird stammer fra god Borland-kode er det den jeg selv foretrækker. En superserver v. 2.01 og du er godt på vej.

MySql er ikke ueffen, men jeg synes det er et lappeløsningsprogram. Det er gammelt nid der stammer fra 2003 hvor MySQL ikke engang havde Views eller understøttede sub-selects. Det kan den helt sikkert nu, men Firebird/Interbase har kunnet det fra starten.

Desuden har Delphi, som standard, databasekomponenter til Interbase/Firebird.
Avatar billede kroning Nybegynder
20. april 2007 - 12:13 #18
http://da.wikipedia.org/wiki/Firebird_(database_server)

Der står bla.:
"Den egner sig til dog kun til små løsninger, da den ikke er lige så stabil og hurtig som f.eks. databasen MySQL."

Men det er der nok mange meninger om :)
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