AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Klassen in verschiedenen Units & Werte übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Klassen in verschiedenen Units & Werte übergeben

Ein Thema von Osse · begonnen am 2. Mai 2005 · letzter Beitrag vom 2. Mai 2005
 
Osse

Registriert seit: 25. Mär 2005
Ort: Hamburg
74 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Klassen in verschiedenen Units & Werte übergeben

  Alt 2. Mai 2005, 14:26
Also, ich meine das ungefähr so:

Delphi-Quellcode:
unit main;

interface

uses
  Nachrichten, Controller , NeueNachrichtErstellen, NeueSucheErstellen;

type
 TRcvThread = class(TThread)
  private
    hClient: Byte;
  protected
    procedure Execute; override;
  public
    procedure Set_hClient(client : Byte);
    function Get_hClient() : Byte;
  end;

  public
    { Public declarations }
                                             TCANMsg := message
                  

    CAN_Controller : TCAN_Controller; // Can Controller einstellungen und eingenschaften,
                                                             
    FClientHandle: HCANClient;
    FNetHandle: HCANNet;
    FRcvEvent: TEvent; // Event von TRcv (Ankommende Telegramme)
    FRcvThread: TRcvThread; // Thread (Unterprozess) für Ankommende Telegramme

    property ClientHandle: HCANClient read FClientHandle;
    property RcvEvent: TEvent read FRcvEvent;
  end;

var
  Form1: TForm1;
  CAN_Controller : TCAN_Controller;
implementation
....

procedure TRcvThread.Set_hClient(client : Byte);
begin
  hclient := client;
end;

function TRcvThread.Get_hClient() : Byte;
begin
   Get_hClient := hclient;
end;


procedure TRcvThread.Eingangsabgleich;
var hilfe : byte;
begin
  hilfe := CAN_Controller.Get_Client();
  Set_hClient(hilfe);
end;
Ich möchte einfach der Variablen RcvThread.hClient := CAN_Controller.Client zuweisen. Bekomme aber immer die Fehlermeldung, dass CAN_Controller.Client kein wert zugewiesen ist, obwohl er schon vorher einen Wert hat. Irgendwie hab ich die Klasse nich richtig eingebunden. Die CAN_Contoller Klasse ist in der Controller.pas Unit gespeichert.



Delphi-Quellcode:
unit Controller;

interface

type
   
//allgemeine Controlerbezeichnung
  TController = CLASS
    Client: Byte;    // Typ 'Client-Handle' Byte Variable
    Netz : Byte;    // Typ 'Net-Handle' Byte Variable
    Hardware : Byte; // Typ 'Hardware-Handle' Byte Variable
    CONSTRUCTOR Create ;
   END ;

  TCAN_Controller = CLASS(TController)

    procedure Initalisierung_CANController(Netz : Byte ; _Hardware : Byte ;
       Baudrate : Integer ; Netzname : String ; Clientname : String ; var _Client : HCANClient);
    procedure Netzinfo(LB: TListBox );
    procedure Hardwareinfo(LB: TListBox);
    procedure Hardware_analyse(var Hardware : HCANHw);
    procedure Status(LB : TListBox);
  public
...
1. eine Lösung für das Problem
2. Ist das eine gute Variante??
3. Was kann ich besser machen??

Vielen dank
  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 10:38 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