AGB  ·  Datenschutz  ·  Impressum  







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

do not Backup Flag

Ein Thema von Mavarik · begonnen am 12. Jul 2013 · letzter Beitrag vom 17. Dez 2013
Antwort Antwort
Benutzerbild von Union
Union

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

AW: do not Backup Flag

  Alt 15. Jul 2013, 16:26
Schau Dir doch mal iOSApi.Foundation.NSURL.setResourceValue an. Und dann siehst Du gleich oder nach einigen Stunden den fiesen Fehler.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: do not Backup Flag

  Alt 15. Jul 2013, 22:34
Schau Dir doch mal iOSApi.Foundation.NSURL.setResourceValue an. Und dann siehst Du gleich oder nach einigen Stunden den fiesen Fehler.
Fehler?
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: do not Backup Flag

  Alt 15. Jul 2013, 23:04
Hier steht die Funktion beschrieben:
Zitat von Apple:
setResourceValue:forKey:error:

Sets the resource property of the URL specified by a given key to a given value.
- (BOOL)setResourceValue: (id)value forKey: (NSString *)key error: (NSError **)error
Parameters

value

The value for the resource property defined by key.
key

The name of one of the URL’s resource properties.
error

The error that occurred in the case that the resource value cannot be set.

Return Value

YES if the resource property named key is successfully set to value; otherwise, NO.
Im Source vom NSURL Interface in iOSapi.Foundation ist allerdings der Error-Paramter NICHT als var deklariert (in OBJ-C **). Entweder der Importer von EMBA ist fehlerhaft, oder - schlimmer - die importieren die Klassen von Hand und können kein Objective-C. Das ist übrigens nicht die einzige Stelle.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: do not Backup Flag

  Alt 17. Jul 2013, 12:32
OK mag ja sein... ich kanns auch nicht, daher meine Frage...

Das:
TNSURL.Wrap(TNSURL.OCClass.alloc).setResourceValue (1,NSURLIsExcludedFromBackupKey,NIL);

Hab ich gefunden, aber wo gebe ich jetzt die URL... Sprich Dateiname an und da die konstante in Firemonkey nicht definiert ist, was muss ich für "NSURLIsExcludedFromBackupKey" angeben?

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: do not Backup Flag

  Alt 17. Jul 2013, 12:40
So sollte es gehen, aber ich weiß nicht ob es funktioniert wenn man die NSURL Klasse noch nicht korrigiert hat. Ich weiss auch nicht ob das Flag gesetzt wird, da die Funktion zum Auslesen des Flags in iOS nicht funktioniert. Man muss bei den doofen Apple Funktionen oft beides abfragen (NSError UND Rückgabewert) denn es kann sein dass eine Funktion YES zurückgibt aber fehlgeschlagen ist, dann ist der NSError erzeugt und gefüllt.
Delphi-Quellcode:
function SetBackupFlag(AFileName: string; ABackup: boolean): boolean;
var
  URL : NSUrl;
  Err : NSError;
begin
  URL := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(NSStr(AFileName)));
  result := URL.setResourceValue(TNSNumber.OCClass.numberWithBool(not ABackup), NSStr('NSURLIsExcludedFromBackupKey'), err) and (err = nil);
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: do not Backup Flag

  Alt 17. Jul 2013, 12:53
So sollte es gehen, aber ich weiß nicht ob es funktioniert wenn man die NSURL Klasse noch nicht korrigiert hat. Ich weiss auch nicht ob das Flag gesetzt wird, da die Funktion zum Auslesen des Flags in iOS nicht funktioniert. Man muss bei den doofen Apple Funktionen oft beides abfragen (NSError UND Rückgabewert) denn es kann sein dass eine Funktion YES zurückgibt aber fehlgeschlagen ist, dann ist der NSError erzeugt und gefüllt.
Delphi-Quellcode:
function SetBackupFlag(AFileName: string; ABackup: boolean): boolean;
var
  URL : NSUrl;
  Err : NSError;
begin
  URL := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(NSStr(AFileName)));
  result := URL.setResourceValue(TNSNumber.OCClass.numberWithBool(not ABackup), NSStr('NSURLIsExcludedFromBackupKey'), err) and (err = nil);
end;
LOL...

1. Zuerst mal Danke...
2. LOL... Das geht? Ne fehlende Konstante über den Namen holen...?
3. numberWithBool LOL 2...

Mal ehrlich... Wie soll man auf so was kommen?
Gibt's da nen PDF File "Using iOS Wrapper for Delphi Dummys"?

Mavarik

PS.: iOS zeigt mir echt jeden Tag, dass ich keine Ahnung habe... Zum k***zen
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: do not Backup Flag

  Alt 17. Jul 2013, 14:04
Ja das sollte gehen:
Code:
#import "Foundation/NSUrl.h"
NSLog(@"Wert '%@'", NSURLIsExcludedFromBackupKey);
Zitat von XCode Debugger:
2013-07-17 14:58:44.666 aaa[861:c07] Wert 'NSURLIsExcludedFromBackupKey'
Bzw. in Delphi:
ShowMessage(CocoaNSStringConst('/System/Library/Frameworks/Foundation.framework/Foundation', 'NSURLIsExcludedFromBackupKey').UTF8String);
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all

Geändert von Union (17. Jul 2013 um 14:56 Uhr)
  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 20:37 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