AGB  ·  Datenschutz  ·  Impressum  







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

GPStatus als string

Ein Thema von EWeiss · begonnen am 28. Mär 2017 · letzter Beitrag vom 28. Mär 2017
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: GPStatus als string

  Alt 28. Mär 2017, 08:40
Hatte vergessen AStatus zu definieren.

Die Lösung ist aber trotzdem nicht korrekt (Oder ich irre mich auch)
AStatus ist ja nicht initialisiert.

Wenn ich nun wie du AStatus definiere dann ist aber bei einem Auftretenden Fehler
AStatus immer GenericError.

Das möchte ich aber nicht sondern den realen wert
bsp. Win32Error

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: GPStatus als string

  Alt 28. Mär 2017, 08:47
Wie wäre es mit etwas Kontext?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: GPStatus als string

  Alt 28. Mär 2017, 08:51
Wenn ich nun wie du AStatus definiere dann ist aber bei einem Auftretenden Fehler
AStatus immer GenericError.

Das möchte ich aber nicht sondern den realen wert
bsp. Win32Error
Dann übergib doch anstatt AStatus den realen Wert...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

AW: GPStatus als string

  Alt 28. Mär 2017, 08:57
Wenn ich nun wie du AStatus definiere dann ist aber bei einem Auftretenden Fehler
AStatus immer GenericError.

Das möchte ich aber nicht sondern den realen wert
bsp. Win32Error
Dann übergib doch anstatt AStatus den realen Wert...
Wenn das alles so einfach wäre wie ihr sagt.
Ich frage ja nicht umsonst.

Gebe ich den Realen wert ein der mit meiner Funktion übergeben wird

function TfrmMain.SaveToPNG(FullName: PWideChar; img: GPImage): GPStatus;

in dem Fall Result
Dann bekomme ich vom Compiler die Meldung das Result möglicherweise nicht initialisiert ist.

EDIT:
Ok denke sollte dann
Result:= GenericError; voran stellen.
Dann geht's.

Danke.


grussa

Geändert von EWeiss (28. Mär 2017 um 09:28 Uhr)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: GPStatus als string

  Alt 28. Mär 2017, 10:47
Oder ohne RTTI:

Delphi-Quellcode:
Const
  cStatus : Array[TStatus] of String = (
   'Ok',
   'GenericError',
   'InvalidParameter'
  );
und dann einfach über:

cStatus[status] darauf zugreifen.

Läuft unabhängig von der Delphi-Version und sauber internationalisiert werden
könnte ich machen..
Aber dann ändere ich die GDIP_API Unit.
Was bedeutet ich muss alle Funktionen die auf GPStatus zugreifen wieder ändern. Oder?

gruss
Nein...TStatus wird ja nicht geändert. Du definierst dir einfach eine typisierte Konstante mit den benötigten Strings. Du benutzt einfach den Status (TStatus) als Index auf dein Konstanten-Array. Drops gelutscht.

Sowas kann man dann z.B. einfach internationalisieren

_(cStatus[status]); Hier mal mit der Gnugettext-Funktion.

oder in dem Fall das es das Funktionsergebnis ist

ShowMessage(_(cStatus[SaveToPng(...)])); Du kannst das ganze auch über ordinale Werte handhaben (ord(SaveToPng) bzw. IntToStr(SaveToPing)). Wär aber etwas umständlich imho.
Uwe
e=mc² or energy = milk * coffee²

Geändert von Ghostwalker (28. Mär 2017 um 10:53 Uhr) Grund: Edit
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#16

AW: GPStatus als string

  Alt 28. Mär 2017, 11:06
Zitat:
Nein...TStatus wird ja nicht geändert.
Ach so ja dann sollte es kein Problem sein.

Habe aber im Moment den ein Zeiler von Union genommen klappt ganz gut.
So muss ich nicht die API verändern.

Trotzdem Danke.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

AW: GPStatus als string

  Alt 28. Mär 2017, 11:20
Habe aber im Moment den ein Zeiler von Union genommen klappt ganz gut.
Die andere (schönere) Lösung kannst du aber auch problemlos verwenden ohne die Unit mit der GDI+ API zu modifizieren. Deklarier das String-Array doch einfach in deiner eigenen Unit.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#18

AW: GPStatus als string

  Alt 28. Mär 2017, 12:34
Habe aber im Moment den ein Zeiler von Union genommen klappt ganz gut.
Die andere (schönere) Lösung kannst du aber auch problemlos verwenden ohne die Unit mit der GDI+ API zu modifizieren. Deklarier das String-Array doch einfach in deiner eigenen Unit.
JO das wäre auch eine Möglichkeit
Edit:
Habe es übernommen feine Sache..

Danke Uwe.

gruss

Geändert von EWeiss (28. Mär 2017 um 12:52 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:50 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