AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal FreePascal TImage.Create will einfach nicht funktionieren.
Thema durchsuchen
Ansicht
Themen-Optionen

TImage.Create will einfach nicht funktionieren.

Ein Thema von Qnkel · begonnen am 7. Nov 2010 · letzter Beitrag vom 7. Nov 2010
Antwort Antwort
Qnkel

Registriert seit: 14. Mär 2004
114 Beiträge
 
FreePascal / Lazarus
 
#1

TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 09:38
Moin.

Hier erstmal mein Code:

Delphi-Quellcode:
type

  { Karten }

  TKarte = class
    Typ: integer;
    Sichtbar: Boolean;
    Tisch: TImage;
  end;

var
  Hauptform: THauptform;
  Spielerzahl: integer;
  Kartenmischung: array[0..31] of integer;
  Kartenblatt: array[0..31] of TPicture;
  Deckkarte: TPicture;
  Karte: array[0..8] of array[1..3] of TKarte;

function Kartenladen(Pfad, Typ: string): Boolean;
var iBlatt, iSpieler, iKarte, iSpielerkarte, iAusgegeben: integer;
begin
  Result := True;
  Deckkarte := TPicture.Create;
  If FileExists(Pfad + '\Deck.' + Typ) then
        Deckkarte.LoadFromFile(Pfad + '\Deck.' + Typ)
    Else
      Result := False;
  for iBlatt:=0 to 31 do
    begin
      Kartenblatt[iBlatt] := TPicture.Create;
      If FileExists(Pfad + '\' + IntToStr(iBlatt) + '.' + Typ) then
        Kartenblatt[iBlatt].LoadFromFile(Pfad + '\' + IntToStr(iBlatt) + '.' + Typ)
      Else
        Result := False;
    end;
  for iSpieler := 0 to Spielerzahl do
    for iKarte := 1 to 3 do
      begin
        Karte[iSpieler, iKarte].Tisch := TImage.Create(nil);
        for iSpielerkarte := 0 to iAusgegeben do
          begin
            Karte[iSpieler, iKarte].Tisch.Picture := Kartenblatt[iAusgegeben];
            inc(iAusgegeben);
          end;
      end;
end;
Der untere for-to-do-Abschnitt funktioniert nicht. Ich habe es schon mit TCustomImage.Create probiert sowie eine Variable "CTisch = TCustomImage" gemacht und es darüber probiert (wurde mir im IRC geraten), aber all das half nicht.

Wo ist das Problem? Ein Update auf Lazarus 0.9.29 half auch nicht.

Es kommt: "Projekt a.exe hat Exception-Klasse 'External: SIGSEGV' ausgelöst." und danach ein Assembler-Fenster.
Lazarus v0.9.29 (2010-10-31 SVN 28000)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 10:11
ich weiß nicht ob hier ein Teil des nur nicht mitgeliefert ist:

Delphi-Quellcode:
Karte: array[0..8] of array[1..3] of TKarte;
// ich vermisse etwas in der Art
for x := 0 to 8 do
   for x := 1 to 3 do
      Karte[x,y] := TKarte.Create;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Qnkel

Registriert seit: 14. Mär 2004
114 Beiträge
 
FreePascal / Lazarus
 
#3

AW: TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 10:16
Da TKarte keine Create-Prozedur hat, wäre das hinfällig.
Lazarus v0.9.29 (2010-10-31 SVN 28000)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 10:26
behandelt Lazarus Klassen wie Records??
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Qnkel

Registriert seit: 14. Mär 2004
114 Beiträge
 
FreePascal / Lazarus
 
#5

AW: TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 10:33
Keine Ahnung, bin Delphi-Umsteiger.
Lazarus v0.9.29 (2010-10-31 SVN 28000)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: TImage.Create will einfach nicht funktionieren.

  Alt 7. Nov 2010, 10:36
Dann schreib doch mal statt
TKarte = class
TKarte = Record
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz