tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
653
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    derNero derNero ist offline Rookie
    Registriert seit
    Nov 2006
    Beiträge
    8
    Hallo,

    ich bin neu hier und hoffe das ihr mir vieleicht helfen könnt.

    Ich arbeite derzeit an einem Projekt mit dem BCB6 (Ist mein ernstes im BCB).

    Ich habe nun Beispielsweise ein Formular auf dem sich einen Edit.Komponente befinet.
    und eine 2.Unit nennen wir sie mal Unit_funktionen.cpp

    Ich möchte nun folgendes mache:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit_funktionen.h"
    #include "Unit1.h"
    //---------------------------------------------------------------------------
     
    #pragma package(smart_init)
     
    void __fastcall test(){
            ShowMessage ("Hallo");  //Funktioniert
            Form1->Edit1->Text = "Welt";  //Funktioniert nicht
    }

    Aber bei Form1->Edit1->Text = "Welt";
    kommt: Zugriffsverletzung bei Adresse 401075B9 in Modul 'vcl60.bpl. Lesen von Adresse 8C726EA1

    würde mich sehr freuen wenn ihr mir helfen könntet.
     

  2. #2
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Hallo,

    Du willst also die Funktion "Test()" in der Unit1 bzw. im Form1 ausführen, aber eben den Funktionsrumpf nur auslagern... hab ich das richtig verstanden?

    LG Turri
     

  3. #3
    derNero derNero ist offline Rookie
    Registriert seit
    Nov 2006
    Beiträge
    8
    Hallo

    ich habe ein Formular Form1 mit einer Unit1.

    ich hab auf Form1 eine beliebige Komponente zb ein Edit

    und eine zweite Unit : Unit_funktionen ohne Form in der ich die ganzen Funktionen hab.

    Jetzt möchte ich in Unit_funktionen die Komponente von Form1 ansprechen.

    zb. Form1->Edit1->Text ("AaaaAAaaa")

    aber ich bekomm immer zugriffsfehler ....

    hab auch schon den Sender mit übergeben ... dann is dieser fehler nicht mehr in vcl50.bpl sondern in projekt2.exe.

    Kenn mich halt mit bcb net so......
     

  4. #4
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    Sollte eigentlich gehn....
    Wenn das Problem bis heute abend nich gelöst ist,
    hock ich mich mal dran (bin auf Arbeit und hab keinen Borland zur Hand).
    Hab zwar schon öfter mit dem Borländer was entwickelt,
    bin aber nie auf das Problem gestoßen

    MfG Turri
     

  5. #5
    derNero derNero ist offline Rookie
    Registriert seit
    Nov 2006
    Beiträge
    8
    (= bin auch auf der Arbeit ...

    ist ein Projekt für meine Ausbildung und mein Ausbilder sitzt mir mit einem pseudo Terminplan im Nacken .... (wegen Selbstschätzung von Programmierdauer .... usw) müsste dieses Problem schon gestern gelöst haben damit ich weiter machen kann ... hab noch andere Sachen an dem Programm zu tun ...

    Und keiner hat hier je c gesehen und ich solls programmieren ... und das alles autodidakt
    und dann hab ich noch Termindruck ...

    HELP
     

  6. #6
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    dann lass das auslagern der Funktionen erstmal,
    und schreib die einfach mit in die Unit1.cpp rein...

    Das auslagern zu späteren Zeitpunkt sollte kein Problem sein...

    MfG Turri
     

  7. #7
    derNero derNero ist offline Rookie
    Registriert seit
    Nov 2006
    Beiträge
    8
    Ja ok werd ich dann so machen


    ach ps. Toller Avatar
    erinnert mich an die guten alten Ra3 Zeiten ...
     

  8. #8
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    So, hab das mal eben gebaut...
    Unit1.h bleibt unberührt...
    Unit1.cpp
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    #include "Unit_funktionen.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
        Edit1->Text = "Test";
        Test();
    }
    Unit_funktionen.cpp
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    //---------------------------------------------------------------------------
     
     
    #pragma hdrstop
     
    #include "Unit_funktionen.h"
    #include "Unit1.h"
     
    //---------------------------------------------------------------------------
     
    #pragma package(smart_init)
     
    void __fastcall Test()
    {
        Form1->Edit1->Text = "Blubb";
    }
    Unit_funktionen.h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    //---------------------------------------------------------------------------
     
    #ifndef Unit_funktionenH
    #define Unit_funktionenH
    //---------------------------------------------------------------------------
     
    void __fastcall Test();
    #endif
    Am Ende steht eben "Blubb" da, durch die Test() Funktion und nicht das vorher zugewiesene Test...
    Bei Fragen einfach fragen...

    MfG Turri
     

  9. #9
    derNero derNero ist offline Rookie
    Registriert seit
    Nov 2006
    Beiträge
    8
    danke, es hat letztendlich geklappt.



    obwohl ich inzwischen der Meinung bin das der bcb6 ab und zu etwas "zickig" ist.

    noch ma vielen Danke für deine Hilfe.
     

  10. #10
    Avatar von Turri
    Turri Turri ist gerade online Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    354
    zickig is relativ

    kannst den Threat ja als erledigt markieren...

    MfG Turri
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 04.09.07, 07:19
  2. clr-funktionen
    Von kenden im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 05.04.07, 16:52
  3. Antworten: 7
    Letzter Beitrag: 26.04.06, 21:32
  4. Antworten: 9
    Letzter Beitrag: 10.05.05, 22:03
  5. [c] Funktionen
    Von Bansi im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 16.01.04, 09:46