External SIGSEV bei formular.showmodal

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

External SIGSEV bei formular.showmodal

Beitrag von slai »

Hallo zusammen

Ich verzweifle jetzt dann. Beim ShowModal von einem meiner Formulare kommt folgender fehler:
External SIGSEV

der Debugger hält bei der Funktion:
procedure TWin32ListStringList.AddStrings(TheStrings: TStrings);

auf der Zeile:
For Counter := 0 To TheStrings.Count - 1 Do

in:
win32listsl.inc

Mein aufruf:
FrmVKPreiskalkulationsstatistik.ShowModal;

Hatte dieses Problem schon jemand?
Wie's aussieht ist es ein zugriffsfehler auf etwas das noch nicht existiert, da die Funktion jedoch nicht von mir kommt kann ich es nicht nachvollziehen.

danke für antworten
gruss
slai
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

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

Re: External SIGSEV bei formular.showmodal

Beitrag von theo »

Bisschen mager die Beschreibung.
Du weisst schon, dass man TStrings nicht direkt instantiieren kann, oder?
Falls es das ist, müsstest du eine TStringList nehmen.

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: External SIGSEV bei formular.showmodal

Beitrag von slai »

Der obige fehler ist behoben, es war eine TStringlist die noch nicht erstellt wurde

nun habe ich jedoch folgendes problem das der debugger in
procedure:
procedure FinishCreateWindow(const AWinControl: TWinControl; var Params: TCreateWindowExParams;
const AlternateCreateWindow: boolean);

unit:
Win32WSControls

Meldung:
failed to create win32 control, error: 0

hält.

sry eine genauere beschreibung kann ich nicht machen.
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

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

Re: External SIGSEV bei formular.showmodal

Beitrag von theo »

slai hat geschrieben: sry eine genauere beschreibung kann ich nicht machen.
Sagt mir gar nix. Den relevanten Teil des Quelltexts posten wäre eine Möglichkeit ;-)

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: External SIGSEV bei formular.showmodal

Beitrag von slai »

die frage währe hier was ist relevant?

formcreate:

Code: Alles auswählen

procedure TFrmVKPreiskalkulationsstatistik.FormCreate(Sender: TObject);
begin
  tempquery := TZQuery.Create(nil);
  tempdatasource := TDataSource.Create(nil);
 
  tempquery.Connection := DBDataMod.ZCDB;
  tempdatasource.DataSet := tempquery;
 
  DBGStatistik.DataSource := tempdatasource;
 
  LDatumZeit.Caption := DateToStr(now)+'   '+TimeToStr(now);
 
  SLArtikelKeinePreiskalkulation := TStringList.Create;
end;
formshow:

Code: Alles auswählen

procedure TFrmVKPreiskalkulationsstatistik.FormShow(Sender: TObject);
var
   y: integer;
begin
  tempquery.Close;
  tempquery.SQL.Clear;
  tempquery.SQL.Add('Select S.*, A.*, P.* From ArtStamm A, Preisklassen P, EKpreiskalkulationsstatistik S where S.IDPREISKLASSE = P.ID and S.IARTNR = A.ID');
  tempquery.Open;
 
  if tempquery.RecordCount > 0 then begin
     LInfos.Caption := 'Es wurden '+inttostr(tempquery.RecordCount)+' Preise geändert.';
  end else begin
     LInfos.Caption := 'Es wurden keine Preise neu berechnet!';
  end;
 
 
  //LBArtikelNochnichtkonfig.Items.Clear;
  //LBArtikelNochnichtkonfig.Items.AddStrings(SLArtikelKeinePreiskalkulation);
 
  for y := 0 to TempQuery.FieldCount-1 do begin
           if TempQuery.Fields[y].DataType = ftFloat then begin
             TFloatField(TempQuery.Fields[y]).DisplayFormat := '######0.00';
             TFloatField(TempQuery.Fields[y]).editFormat := '0.00';
           end;
    end;
end;
und irgendwo dazwischen passiert der fehler :-)
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

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

Re: External SIGSEV bei formular.showmodal

Beitrag von theo »

Weiss auch nicht.
Nimm das ganze im FormCreate mal in FormShow rein.
Es wäre denkbar, dass DBDataMod zu diesem Zeitpunkt nocht nicht created ist oder sowas.

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: External SIGSEV bei formular.showmodal

Beitrag von slai »

also habe das mit dem formcreate in formshow ausprobiert, an dem liegt es nicht.

ich führe formcreate() aus dann fülle ich paar public variablen vom formular aus
und dann bei form.showmodal passiert der fehler.
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: External SIGSEV bei formular.showmodal

Beitrag von slai »

habe das problem behoben, war ein komischer fehler, es gab irgendwie 2 versteckte circular units die beim compilieren nicht erkannt wurde.
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

Antworten