AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Typecast samt Dereferenzierung funktionieren nicht!
Thema durchsuchen
Ansicht
Themen-Optionen

Typecast samt Dereferenzierung funktionieren nicht!

Ein Thema von Virchov · begonnen am 30. Mär 2004 · letzter Beitrag vom 30. Mär 2004
Antwort Antwort
Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#1

Typecast samt Dereferenzierung funktionieren nicht!

  Alt 30. Mär 2004, 09:17
Morgen!

An der letzten Zeile weigert sich der Compiler den Typecast + Dereferenzierung von M durchzuführen. Früher, in ähnlichen Fällen, hat es wunderbar jeklappt. Fehlermeldung: UNGÜLTIGE TYPENUMWANDLUNG. Woran könnte das liegen?

Vielen Dank!


Hier ist der Codeausschnitt:
Delphi-Quellcode:

procedure pm1(M: pDouble; rowM, colM: integer; str: array of char);

type darray = array of double;
var i,j: integer;

begin

assignfile(stream,'c:\\larylog.txt');
append(stream);
writeln('*temp. LOGFILE*\n');
writeln('------------ %s --------------\n', str);
for i:=1 to rowM do
  begin
  writeln('[%d][x] = ',i);
  for j:=1 to colM do
    begin
   
  writeln( '%5.4f ', darray (M^)[ i*(colM+1) + j]);
....
....
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Typecast funktioniert nicht

  Alt 30. Mär 2004, 09:41
Moin.

// edit
sorry...hab mist erzählt!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#3

Re: Typecast funktioniert nicht

  Alt 30. Mär 2004, 09:54
Also, so ging es am Ende. Weiss nicht, ob das genau dasselbe macht, aber es läuft
Delphi-Quellcode:

procedure pm1(M: pDouble; rowM, colM: integer; str: array of char);

var stream: textfile;
i,j: integer;
a: darray;

begin
assignfile(stream,'c:\\larylog.txt');

If IOResult = 0 then

  begin
append(stream);
writeln(stream,'*temp. LOGFILE*\n');
writeln(stream,'------------ %s --------------\n', str);

  inc(M,colM+2);
  for i:=1 to rowM do
    begin
  write(stream,'[%d][x] = ',i);
    for j:=1 to colM do
      begin

      Write(Stream,M^); INC(M);
      Writeln(Stream);
      end;
    end;

  end

  else
  begin
  ShowMessage(' Unable to open logfile Lary   Message ');
  rewrite(Stream);
  Exit
  end;
   closefile(Stream);
end;
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#4

Re: Typecast samt Dereferenzierung funktionieren nicht!

  Alt 30. Mär 2004, 15:00
versuch's mal, mit folgenden zwei Änderungen:
Delphi-Quellcode:
type
  pdarray = ^darray;
  darray = array[0..0] of double;
und

writeln( '%5.4f ', pdarray (M)^[ i*(colM+1) + j]);
  Mit Zitat antworten Zitat
Virchov

Registriert seit: 15. Mär 2004
Ort: Bäärlin
109 Beiträge
 
#5

Re: Typecast samt Dereferenzierung funktionieren nicht!

  Alt 30. Mär 2004, 15:53
Danke Dir!
Einfach und genial!
  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 22:12 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