AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of Integer und crash

Ein Thema von EWeiss · begonnen am 19. Mär 2017 · letzter Beitrag vom 27. Sep 2018
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
EWeiss
(Gast)

n/a Beiträge
 
#1

Array of Integer und crash

  Alt 19. Mär 2017, 08:37
Ich hab ein Array of Integer in einer Procedure definiert.

Delphi-Quellcode:
type
  TOutFrameDelay = array of Integer;
  POutFrameDelay = ^TOutFrameDelay;
....
procedure GetGifFrameDelays(InGifImage: Cardinal; InFrameCount: UINT;
  var OutFrameDelay: TOutFrameDelay);
wenn ich nun das Array redimensioniere dann kracht es mal wieder.

SetLength(OutFrameDelay, InFrameCount - 1);

SetLength müsste so doch auch mit Integer funktionieren oder nicht?
Was läuft hier wieder schief? LOL

Bin wieder mal die ganze Nacht wach wird zeit für's Bett.. hehehehehee

gruss

Geändert von EWeiss (19. Mär 2017 um 09:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: Array of Integer und crash

  Alt 19. Mär 2017, 08:44
Moin...

Was spricht gegen TList<Integer>. Da hast du das Pointer geschubse nicht.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Array of Integer und crash

  Alt 19. Mär 2017, 08:46
Moin...

Was spricht gegen TList<Integer>. Da hast du das Pointer geschubse nicht.
Wie meinst das?
Eigentlich müsste das doch funktionieren frage mich nur warum nicht.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: Array of Integer und crash

  Alt 19. Mär 2017, 09:10
procedure GetGifFrameDelays(InGifImage: Cardinal; InFrameCount: Integer;
var OutFrameDelay: TOutFrameDelay);[/DELPHI]
Liegt vielleicht daran, was dieser procedure übergeben wird?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Array of Integer und crash

  Alt 19. Mär 2017, 09:19
var OutFrameDelay: TOutFrameDelay Habe gelesen das man hier den var Parameter übergeben soll wenn eine Type Deklaration für das Array angelegt wurde.

Aber auch wenn ich diesen entferne kracht es.
Was anderes fällt mir da jetzt nicht ein.

Das Image ist korrekt, der FrameConter ist 14 also auch korrekt.
Übrig bleibt dann nur das OutFrameDelay.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#6

AW: Array of Integer und crash

  Alt 19. Mär 2017, 09:25
Zitat:
Wie meinst das?
damit wärst du schon fertig ohne die Pointer Problematik und Arrays als Parameter.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Array of Integer und crash

  Alt 19. Mär 2017, 09:33
Zitat:
Wie meinst das?
damit wärst du schon fertig ohne die Pointer Problematik und Arrays als Parameter.
Ich habe kein Problem mit dem Pointern nur mit dem Array.

Delphi-Quellcode:
procedure GetGifFrameDelays(InGifImage: Cardinal; InFrameCount: UINT;
  var OutFrameDelay: TOutFrameDelay);
Delphi-Quellcode:
procedure LoadGif;
var
  FrameCount: UINT;
  FrameDelay: TOutFrameDelay;
begin

  FrameCount := 0;

  if GetGifFrameCount(gp.GifImage, @GuidFDT, FrameCount) = S_OK then
    If (FrameCount - 1) = 0 then
    begin
      SetLength(FrameDelay, 0);
    end else
    begin
      GetGifFrameDelays(gp.GifImage, FrameCount, FrameDelay);
    end;
end;
Jetzt brat mir einer nen Storch warum geht das nicht.

grrrr... LOL

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#8

AW: Array of Integer und crash

  Alt 19. Mär 2017, 10:32
Jetzt brat mir einer nen Storch warum geht das nicht.
Funktioniert doch! Mangels weiterer Informationen habe ich das mal auf ein Minimum runter gebrochen:

Delphi-Quellcode:
program Project219;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

type
  TOutFrameDelay = array of Integer;

procedure GetGifFrameDelays(InGifImage: Cardinal; InFrameCount: Cardinal;
  var OutFrameDelay: TOutFrameDelay);
begin
  SetLength(OutFrameDelay, InFrameCount - 1);
end;

procedure Main;
var
  FrameCount: Cardinal;
  FrameDelay: TOutFrameDelay;
begin

  FrameCount := 4;

// if GetGifFrameCount(gp.GifImage, @GuidFDT, FrameCount) = S_OK then
    If (FrameCount - 1) = 0 then
    begin
      SetLength(FrameDelay, 0);
    end else
    begin
      GetGifFrameDelays(0, FrameCount, FrameDelay);
    end;

  Writeln('OK');
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Array of Integer und crash

  Alt 19. Mär 2017, 10:42
Ich habe kein Problem mit dem Pointern nur mit dem Array.
Sicher?
der Pointer muß auf Myarray[0] zeigen.

(ich hab jedenfalls keine Zuweisung gesehen?)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Array of Integer und crash

  Alt 19. Mär 2017, 14:54
Dank euch muss mir das nochmal ansehen.
Bin jetzt wieder dabei.

der Pointer muß auf Myarray[0] zeigen. Wie ? Wenn ich das Array vorher nicht dimensionieren kann.
Es ist ja dann noch nicht mal initialisiert ohne SetLength.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 22:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz