How to use setResourceValue:forKey:error:

Mac OSX specific forum
Wolfram
Enthusiast
Enthusiast
Posts: 568
Joined: Thu May 30, 2013 4:39 pm

How to use setResourceValue:forKey:error:

Post by Wolfram »

Can someone tell me what's wrong on this COCOA massage?

Code: Select all

fileURL = CocoaMessage(0, 0 ,"NSURL fileURLWithPath:$", @"/Users/yourName/Desktop/testFile.TXT")

Define *resourceError 
CocoaMessage(0, fileURL, "setResourceValue:", 2, "forKey:$", @"NSURLLabelNumberKey", "error:", @resourceError)
macOS Catalina 10.15.7
wilbert
PureBasic Expert
PureBasic Expert
Posts: 3870
Joined: Sun Aug 08, 2004 5:21 am
Location: Netherlands

Re: How to use setResourceValue:forKey:error:

Post by wilbert »

I think the resource value 2 needs to be wrapped into a NSNumber.
Try to pass this instead of 2

Code: Select all

CocoaMessage(0, 0, "NSNumber numberWithInt:", 2)
Windows (x64)
Raspberry Pi OS (Arm64)
Wolfram
Enthusiast
Enthusiast
Posts: 568
Joined: Thu May 30, 2013 4:39 pm

Re: How to use setResourceValue:forKey:error:

Post by Wolfram »

wilbert wrote:I think the resource value 2 needs to be wrapped into a NSNumber.
Try to pass this instead of 2

Code: Select all

CocoaMessage(0, 0, "NSNumber numberWithInt:", 2)
You think right ;-)
Thanks
macOS Catalina 10.15.7
Wolfram
Enthusiast
Enthusiast
Posts: 568
Joined: Thu May 30, 2013 4:39 pm

Re: How to use setResourceValue:forKey:error:

Post by Wolfram »

Last question…
can you tell me how to read the error state of this function?

Code: Select all

CocoaMessage(0, fileURL, "setResourceValue:", CocoaMessage(0, 0, "NSNumber numberWithInt:", 2), "forKey:$", @"NSURLLabelNumberKey", "error:", @resourceError)
macOS Catalina 10.15.7
wilbert
PureBasic Expert
PureBasic Expert
Posts: 3870
Joined: Sun Aug 08, 2004 5:21 am
Location: Netherlands

Re: How to use setResourceValue:forKey:error:

Post by wilbert »

Wolfram wrote:can you tell me how to read the error state of this function?
It's a NSError object.

Code: Select all

Debug PeekS(CocoaMessage(0, CocoaMessage(0, resourceError, "localizedDescription"), "UTF8String"), -1, #PB_UTF8)
Windows (x64)
Raspberry Pi OS (Arm64)
Wolfram
Enthusiast
Enthusiast
Posts: 568
Joined: Thu May 30, 2013 4:39 pm

Re: How to use setResourceValue:forKey:error:

Post by Wolfram »

wilbert wrote:
Wolfram wrote:can you tell me how to read the error state of this function?
It's a NSError object.

Code: Select all

Debug PeekS(CocoaMessage(0, CocoaMessage(0, resourceError, "localizedDescription"), "UTF8String"), -1, #PB_UTF8)
I try this code, but get an error "Address is null".

Code: Select all


fileURL = CocoaMessage(0, 0 ,"NSURL fileURLWithPath:$", @"/Users/yourNmae/Desktop/testFile.txt")
Define resourceError
CocoaMessage(0, fileURL, "setResourceValue:", CocoaMessage(0, 0, "NSNumber numberWithInt:", 2), "forKey:$", @"NSURLLabelNumberKey", "error:", @resourceError)

Debug PeekS(CocoaMessage(0, CocoaMessage(0, resourceError, "localizedDescription"), "UTF8String"), -1, #PB_UTF8)
macOS Catalina 10.15.7
wilbert
PureBasic Expert
PureBasic Expert
Posts: 3870
Joined: Sun Aug 08, 2004 5:21 am
Location: Netherlands

Re: How to use setResourceValue:forKey:error:

Post by wilbert »

I forgot to wrap it.
It should only display the error is there is one.

Code: Select all

fileURL = CocoaMessage(0, 0 ,"NSURL fileURLWithPath:$", @"/Users/yourNmae/Desktop/testFile.txt")
If CocoaMessage(0, fileURL, "setResourceValue:", CocoaMessage(0, 0, "NSNumber numberWithInt:", 2), "forKey:$", @"NSURLLabelNumberKey", "error:", @resourceError) = #NO
  Debug PeekS(CocoaMessage(0, CocoaMessage(0, resourceError, "localizedDescription"), "UTF8String"), -1, #PB_UTF8)
EndIf
Windows (x64)
Raspberry Pi OS (Arm64)
Post Reply