Debugger-Absturz nach TOpenPictureDialog

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Eritacus
Beiträge: 15
Registriert: Di 26. Feb 2013, 08:26
OS, Lazarus, FPC: Mac Catalina / Lazarus 2.0.8
Wohnort: Magdeburg

Debugger-Absturz nach TOpenPictureDialog

Beitrag von Eritacus »

Hallo zusammen,

ich bin neu hier und Lazarus-Anfänger. Allerdings habe ich bisher viel in Delphi gemacht, komme also ganz gut zurecht....

Aber ich habe zwei (primitive?) Probleme:

1. Nach dem Ausführen von OpenPictureDialog stürzt der Debugger nach 10-20 sec ab. Das Bild wird aber ordnungsgemäß geladen!
Meldung:

The GDB command:
"-file-exec-and-symbols "
did not return any result.


2. Inkompatibilitäsfehler

Code: Alles auswählen

 
var
  Datei : String;
begin
  ....
  Datei := OpenPictureDialog1.FileName;
  .....


bringt schon beim Kompilieren einen Fehler: got "AnsiString" expected "TMenuItem". Dabei bringt ja das Autovervollständigen beim Tippen
der Befehlszeile den Typ String!

Bitte, kann mir jemand weiterhelfen?

Gruß
Eritacus
Zuletzt geändert von Lori am Di 26. Feb 2013, 16:31, insgesamt 1-mal geändert.
Grund: Highlighter

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: Debugger-Absturz nach TOpenPictureDialog

Beitrag von Antrepolit »

Zu 1.: Kann ich nichts sagen, noch nie gehabt. Welches Betriebssystem verwendest du und welche Lazarus-Version?
Zu 2.: Bitte mehr Quelltextposten, denn es liegt nicht an der Zeile.
Grüße, Antrepolit

care only if your os is really burning

Eritacus
Beiträge: 15
Registriert: Di 26. Feb 2013, 08:26
OS, Lazarus, FPC: Mac Catalina / Lazarus 2.0.8
Wohnort: Magdeburg

Re: Debugger-Absturz nach TOpenPictureDialog

Beitrag von Eritacus »

Zu 1.
Win 7 und Mac OS Mountain Lion (bei beiden das gleiche...)

Lazarus 1.0.4

Zu 2. Der gesamte Code, mehr ist es nicht, war ein Versuch für ein späteres Grafikprogramm:

*******************************************************************

Code: Alles auswählen

unit UPicWork;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Menus,
  ComCtrls, ExtCtrls, ExtDlgs;
 
type
 
  { TFormPicWork }
 
  TFormPicWork = class(TForm)
    Bild: TImage;
    Menue: TMainMenu;
    Datei: TMenuItem;
    Bearbeiten: TMenuItem;
    Ansicht: TMenuItem;
    Laden: TMenuItem;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    Werte: TPanel;
    WZL: TPanel;
    SpeichernAls: TMenuItem;
    Speichern: TMenuItem;
    Neu: TMenuItem;
    StatusBar1: TStatusBar;
    procedure LadenClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;
 
var
  FormPicWork: TFormPicWork;
  Datei : String;      // Dateiname und Ort
  Bitmap : TBitmap;
 
implementation
 
{$R *.lfm}
 
{ TFormPicWork }
 
procedure TFormPicWork.LadenClick(Sender: TObject);                             // Bild laden
begin
  if OpenPictureDialog1.Execute then begin
    StatusBar1.Panels[0].Text := OpenPictureDialog1.FileName// --> das funktioniert
    Datei := OpenPictureDialog1.FileName;                                 // --> das bringt den Fehler
  end;
end;
 
end.           


*******************************************************************

Fehlt da vielleicht irgendwas in des Uses ganz oben?
Zuletzt geändert von Lori am Di 26. Feb 2013, 16:31, insgesamt 1-mal geändert.
Grund: Highlighter

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Debugger-Absturz nach TOpenPictureDialog

Beitrag von Soner »

zu 2.) Du hast 2 Variablen mit dem Namen Datei. Einmal in der Klasse TFormPicWork als TMenuItem und einmal als globale variable als String. Benenne eins von beiden um. Versuch bei MenuItems immer "mi" vorzustellen, dann hast du nie Probleme.
zu 1.) Hast du vielleicht Debug-Infos aus dem Programm entfernt?

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

Re: Debugger-Absturz nach TOpenPictureDialog

Beitrag von theo »

Ich tippe mal drauf, dass du keine Panels erstellt hast.

Probier mal so:

if OpenPictureDialog1.Execute then begin
StatusBar1.SimpleText := OpenPictureDialog1.FileName;

Aber ja, erstmal eine der "Datei" Variablen umbenennen.

Eritacus
Beiträge: 15
Registriert: Di 26. Feb 2013, 08:26
OS, Lazarus, FPC: Mac Catalina / Lazarus 2.0.8
Wohnort: Magdeburg

Re: Debugger-Absturz nach TOpenPictureDialog

Beitrag von Eritacus »

Ich bin ja so ein Trottel, hätte ich auch sehen müssen!

Vielen Dank, natürlich funzt jetzt alles...

Gruß
Eritacus

Antworten