AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Eigene Callback Funktion schreiben.
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene Callback Funktion schreiben.

Ein Thema von Luckie · begonnen am 9. Jun 2003 · letzter Beitrag vom 9. Jun 2003
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Eigene Callback Funktion schreiben.

  Alt 9. Jun 2003, 03:12
Gegeben ist eine typisierte Datei mit Datensätzen. Alle Operationen mit dieser Datei sind in eine Klasse gekapselt (hinzufügen, löschen, modifizieren, auslesen, etc.). Nun kann es aber auch vorkommen, dass der Benutzer dieser Klasse alle Datensätze braucht. Er könnte nun in einer Schleife alle Datensätze durchgehen und sie mit der "Lesen"-Methode anzeigen. Dies wollte ich dem Benutzer der Klasse allerdings abnehmen und dachte dabei an eine Callback Funktion. Callback deswegen, damit man beispielsweise eine Fortschrittsanzeige implementieren kann oder so.

Mein erster etwas kläglicher Versuch sieht jetzt so aus:
Delphi-Quellcode:
const
  TCM_MAXRECORDS = WM_USER+74;
  TCM_ENUMRECORDS = WM_USER+75;

function TTypedFile.EnumRecords(hWnd: Cardinal; var Data: TRecord): Boolean;
var
  i : Integer;
begin
  result := TRUE;
  SendMessage(hWnd, TCM_MAXRECORDS, 0, FRecordsCount);
  for i := 1 to FRecordsCount-1 do
  begin
    seek(f, i);
    read(f, Data);
    SendMessageCallback(hWnd, TCM_ENUMRECORDS, 0, 0, @EnumRecords, 0);
  end;
end;
Drei bis vier Probleme:
1. Er kompiliert es mir nicht, weil der 5. Parameter von SendMessageCallback nicht stimmt.
2. Wie rufe ich ich sie im Programm auf?
3. Wie muß die Funktion im Programm aussehen, welche die Nachrichten von meiner Callback empfängt?
4. Wie bekomme ich den Record aus der Callback in die Funktion, die die Nachrichten meiner Callback empfängt, um sie dann irgendwo auszuwerten / anzuzeigen?

Im Anhang mal das Demo zu der TTypedFiles Unit mit der Klasse zum Arbeiten mit typisierten Dateien.

Edit: Auch wenn es sich eventuell anderes lösen läßt, ich hätte es schon gerne mit einer Callback, weil ich es selbst mal verstehen will.

Später soll noch eine Sortier-Routzine rein und da bräuchte ich dann auch wieder eine Callback Funktion.
Angehängte Dateien
Dateityp: exe typedfilessfx.exe (278,7 KB, 7x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
 


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 07:54 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