AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TMeinSet(Byte(1)) in Variable > ungültige Typumwandlung

TMeinSet(Byte(1)) in Variable > ungültige Typumwandlung

Ein Thema von DieDolly · begonnen am 4. Jun 2019 · letzter Beitrag vom 4. Jun 2019
Antwort Antwort
Seite 1 von 3  1 23   
DieDolly

Registriert seit: 22. Jun 2018
1.901 Beiträge
 
#1

TMeinSet(Byte(1)) in Variable > ungültige Typumwandlung

  Alt 4. Jun 2019, 14:14
Seit Jahren mache ich das so aber jetzt funktioniert es nicht mehr. Eine ungültige Typumwandlung. Aber wo?
Was ist daran denn falsch? Das sind so wenige Zeilen das gibts doch nicht.

Weiß jemand weiter?

Delphi-Quellcode:
type
 TGroups = (g1, g2, g3);
 TGroupSet = set of TGroups;

var
 GroupSet: TGroupSet;
begin
 GroupSet := TGroupSet(Byte(2));
Komplettes Konsolenbeispiel
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
 System.SysUtils;

type
 TGroups = (g1, g2, g3);
 TGroupSet = set of TGroups;


var
 GroupSet: TGroupSet;

begin
 GroupSet := TGroupSet(Byte(2));
end.

Geändert von DieDolly ( 4. Jun 2019 um 16:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.328 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:22
Spontan so:

Delphi-Quellcode:
var
  GroupSet : TGroupSet;
  TempSet : Byte absolute GroupSet;
begin
  TempSet := 2;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.901 Beiträge
 
#3

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:24
Das lässt sich beim Keyword absolute nicht kompilieren.^Die ungültiuge Typumwandlung bleibt dann aber auch.

Die Sache ist, dass der Code da oben mit anderen Variablennamen in einem anderen Projekt seit Jahren funktioniert!
Wieso das da oben nicht?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.328 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:25
Seltsam. Ich hatte es compiliert und debugged bevor ich es geposted habe.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.901 Beiträge
 
#5

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:28
Hier eine Konsolenanwendung die nur das beinhaltet. Da kommt die ungültige Typumwandlung auch

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
 System.SysUtils;

type
 TGroups = (g1, g2, g3);
 TGroupSet = set of TGroups;


var
 GroupSet: TGroupSet;

begin
 GroupSet := TGroupSet(Byte(2));
end.
Ich verstehe langsam die Welt nicht mehr. In anderen Projekten funktioniert das seit Jahren. Entweder ist Delphi kaputt bei mir oder ich habe einen äußerst schrecklichen Copy paste Fehler drin.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.328 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:31
Zeig doch mal den compilierfähigen Code aus einem anderen Projekt.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.901 Beiträge
 
#7

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:32
Das kann ich nicht, da es sich hier um Firmencode handelt. Der ist 1 zu 1 gleich. Nur die Variablennamen sind anders (Wochentage).
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.328 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:36
Dann bau doch ein Beispiel das man compilieren kann, und welches nur aus Deklaration und Zuweisung besteht. Damit verletzt Du dann auch keine Firmengeheimnisse.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.901 Beiträge
 
#9

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 14:36
Zitat:
Dann bau doch ein Beispiel das man compilieren kann, und welches nur aus Deklaration und Zuweisung besteht.
Wenn ich es schaffen würde irgendwas zum Kompilieren zu bringen, würde ich nicht hier um Hilfe bitten

Hier ist der Code aus dem funktionierenden Projekt. Eins zu eins rauskopiert. Andere Variablennamen aber das ist egal denn die Originalnamen lassen sich auch nicht kompilieren.

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
 System.SysUtils;

type
 TDOF = (d1, d2, d3, d4, d5, d6, d7);
 TDOFSet = set of TDOF;

type
 TGroups = (g1, g2, g3);
 TGroupSet = set of TGroups;

var
 Days: TDOFSet;
 GroupSet: TGroupSet;

begin
 Days := TDOFSet(Byte(2));

 GroupSet := TGroupSet(Byte(2));

end.
Das iwr auf das absolute Minimum reduziert und es funktioniert nicht. Irgendwo ist da doch ein Loch im Köse zuviel!

Geändert von DieDolly ( 4. Jun 2019 um 14:41 Uhr)
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
656 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: TMeinSet(Byte(1)) in Variable speichern funktioniert nicht, ungültige Typumwandlu

  Alt 4. Jun 2019, 15:16
Compilersettings
MinEnumSize steht da wahrscheinlich falsch Word oder Double Word und nicht auf Byte
im deutschen Delphi "Mindestgrösse für Enum"
Fritz Westermann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 03:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf