Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - MacOS - DiskArbitration met callbacks mbt disk updates in Pascal

1 Berichten
1 Gebruikers
0 Reactions
2,784 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
Topic starter  

Omdat dit me echt veel moeite heeft gekost (en zonder de goede mensen van het Lazarus Forum was dit nooit gelukt), hier een voorbeeld programma hoe je onder MacOS, zogenaamde callback functies kunt registreren m.b.v. DiskArbitration. Als er iets veranderd m.b.t. de disks op jouw systeem (beschikbaar komen, verdwijnen, of disks die veranderen), dan geeft MacOS jouw applicatie een update wat er gebeurt is.

Misschien heeft iemand er wat aan.

De demo laat ook zien hoe je een CFArrayRef leest en hoe je een CFStringRef naar Pascal string kunt omzetten;

function CFStringToPascalString(theCFStringRef: CFTypeRef):string;
var FBuf : array[0..512] of Char;
begin
  if theCFStringRef<>nil then
    begin
      FillChar(FBuf, SizeOf(FBuf), 0);
      CFStringGetPascalString(theCFStringRef,@FBuf[0],SizeOf(FBuf),CFStringGetSystemEncoding);
      Result := trim(StrPas(PChar(@FBuf[1]))); // skip 1st char, it's a strange 1st char causing crashes
    end
  else
    Result:='';
end;           


   
BeantwoordenCiteren
Deel: