Access Violation

Für Fragen von Einsteigern und Programmieranfängern...
Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Access Violation

Beitrag von theo »

Michl hat geschrieben: Um Theo zu zitieren: http://www.tty1.net/smart-questions_de.html#goal
Danke Michl. ;-)

Diese Frage bleibt wieder mal unbeantwortet.
@Giss: Was soll das werden? Welchen Zweck soll deine Software erfüllen?

So viele Edit Felder lösen bei mir einen kalten Schauer aus. Warum nicht StringGrid? Wer soll diese Felder ausfüllen?

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Access Violation

Beitrag von Michl »

Michl hat geschrieben:Warum das?!



Die benutzte Methode war in den Büchern, die ich gelesen habe, die bevorzugte.
Das kann man ja auch so machen, doch ich bin davon ausgegangen, dass Du in Deiner Projektdatei (.lpr) die Form schon generierst mit "Application.CreateForm(TForm7, Form7);" und dass daraus ein Problem resultiert :?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Giss
Beiträge: 22
Registriert: Sa 26. Mär 2011, 23:25
OS, Lazarus, FPC: Linux (L 0.9.28 FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Osnabrück

Re: Access Violation

Beitrag von Giss »

Sorry, wollte nicht eure Zeit unnötig beanspruchen.

Ziel des Tools ist, mehreren Leuten zu ermöglichen, Wartungsangebote mit einheitlichen Textbausteinen zu erstellen. Da es Personen gibt, die etwas unerfahrener in Bezug auf die benöigten Zeiten für die versch. Wartungsaufgaben sind, soll es weiterhin möglich sein, einen Richtwert für die benötigte Zeit zu ermitteln. Diese Berechnung soll abgespeichert werden können, damit man die Kalkulationsgrundlage für das Angebot nachvollziehen kann.

Formular1 (main): Berechnung von Preisen nach den Stundensätzen. Abspeichern der Preiskalkulation (funktioniert), Auswahl der auszuführenden Arbeiten.
Formular2 (form2): Zusammenstellung der Texte
Formular2 (form3): ein kleines About-Fenster
Formular4 (form4): Kundendaten eingeben
Formular5 (form5): Eingabe der internen Kosten zur Berechnung des Deckungsbeitrages (nur für best. Mitarbeiter)
Formular6 (form6): Passworteingabe (fest hinterlegt)
Formular7 (form7) Berechnung des Zeitumfangs als Hilfestellung für neue Mitarbeiter (Anzahl der Arbeiten x Art der Arbeiten x Zeitumfang = Gesamtzeitumfang (Edit 3= Edit1 x Edit 2 ... und das ganze für die verschiendensten Aufgaben), diese Berechung soll abgespeichert werden und hier habe ich das Problem.

Ich hoffe ich konnte mich verständlich machen. Danke noch mal für eure Zeit und Mühen.

Bild

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Access Violation

Beitrag von Michl »

Sorry, es ist zwar viel Code, den Du gepostet hast, aber ich kann da nichts auf die Schnelle entdecken.

Ich habe das auch mal schnell nachgebaut (Button und Memo, das nach Betätigung gespeichert wird und Form schließt, Editfelder habe ich mal nicht mit reingenommen :wink: ), auch Dein ausgeklammerter Code funktioniert bei mir problemlos.

Bist Du sicher, dass Du dein Formular nicht schon beim Erstellen mit in Dein Projekt aufgenommen hast, evtl. unter einem anderen Namen??? Poste doch mal den Inhalt deiner Projektdatei.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Giss
Beiträge: 22
Registriert: Sa 26. Mär 2011, 23:25
OS, Lazarus, FPC: Linux (L 0.9.28 FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Osnabrück

Re: Access Violation

Beitrag von Giss »

Code: Alles auswählen

program Angebotshelper;
 
{$mode objfpc}{$H+}
 
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, main, LResources, Printer4Lazarus, form2, form3, form4, Unit5, Unit6,
  Unit7;
 
{$IFDEF WINDOWS}{$R Angebotshelper.rc}{$ENDIF}
 
begin
  {$I Angebotshelper.lrs}
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  //Application.CreateForm(TForm4, Form4);
  //Application.CreateForm(TForm3, Form3);
  Application.Run;
end.
 

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Access Violation

Beitrag von Michl »

Ok... meine Vermutung ists nicht! :(

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Benutzeravatar
theo
Beiträge: 10872
Registriert: Mo 11. Sep 2006, 19:01

Re: Access Violation

Beitrag von theo »

Zum Fehler fällt mir auch nichts sein. Da ist vieles möglich bis zu Printer etc.

Aber ich würde dringend ein passenderes Control empfehlen. Du hast zuviel Code für nichts geschrieben.

Nimm ein TStringGrid für deine Eingaben:
Dateianhänge
stringgrid.png
stringgrid.png (7.97 KiB) 1371 mal betrachtet

Giss
Beiträge: 22
Registriert: Sa 26. Mär 2011, 23:25
OS, Lazarus, FPC: Linux (L 0.9.28 FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Osnabrück

Re: Access Violation

Beitrag von Giss »

Danke, theo, für diesen Hinweis.

Cheffe wollte es noch schnell implmentiert haben, da er es einem anderen MA zeigen wollte. Bei der nächsten Überarbeitung werde ich es einfließen lassen.

Antworten