[BCB]2de Unit waarbij objecten niet veranderen.

Pagina: 1
Acties:

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Stel Unit1 roept via een functie Unit2 aan...

In Unit2 wordt bijv. de text in een editbox gewijzigd via
Edit1->Text=String;

Echt zal deze text niet verschijnen/veranderen.

Ik dacht eerst dat het iets zou zijn in de zin van Application->ProcessMessages();, maar dat was het ook niet...

Wat is het wel?!?!

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

heb je ook meer source code ?? normaal is dit geen probleem

  • Juicy
  • Registratie: December 2000
  • Laatst online: 06:11
Geweldig duidelijk verhaal ... Niet dus.

Geef eens wat meer info ...

-


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:27

mulder

ik spuug op het trottoir

Edit1 moet wel public zijn, en ik denk bij voorkeur mbv een public method van unit1 de text veranderen (en dus edit1 niet public)

oogjes open, snaveltjes dicht


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:11
Don Facundo schreef op 28 november 2002 @ 20:08:
Edit1 moet wel public zijn, en ik denk bij voorkeur mbv een public method van unit1 de text veranderen (en dus edit1 niet public)


Published mag ook wel. :+ (Die Edit control dan)

[ Voor 4% gewijzigd door whoami op 28-11-2002 20:09 ]

https://fgheysels.github.io/


Verwijderd

Don Facundo schreef op 28 November 2002 @ 20:08:
Edit1 moet wel public zijn, en ik denk bij voorkeur mbv een public method van unit1 de text veranderen (en dus edit1 niet public)
Volgens mij kun je hem helemaal niet compilen als je dat fout doet.

  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Ok... Unit1


C++:
1
2
3
4
void TForm1::Functie(void){
        frmConsole->WriteToConsole("test!!");
      
}


Unit2

C++:
1
2
3
4
5
void TfrmConsole::WriteToConsole(String Data){

        Memo1->Lines->Add("test");
        ShowMessage("Zooi aangekomen");
}


Ik negeer ff de String die ik meegeef, om te kijken of hij überhaupt wel schrijft naar de memo... Ik heb ook een brakepoint ingesteld, en hij pakt gewoon alles, alleen hij schrijft gewoon NIET naar die memo...
Ook geprobeerd met editbox en nog wat objecttypen...

Overigens is de functie gewoon public... Ik heb hem er helemaal ingetracet..

[ Voor 18% gewijzigd door WarMaster op 28-11-2002 20:15 ]

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Dan zit je naar het verkeerde scherm te kijken. Ik raad dat er meerdere instanties zijn van TfrmConsole en jij kijkt naar de verkeerde. Iets anders kan bijna niet. En het is ook geen bug ofzo...

We adore chaos because we like to restore order - M.C. Escher


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
LordLarry schreef op 28 november 2002 @ 20:17:
Dan zit je naar het verkeerde scherm te kijken. Ik raad dat er meerdere instanties zijn van TfrmConsole en jij kijkt naar de verkeerde. Iets anders kan bijna niet. En het is ook geen bug ofzo...
Nee hoor...

Er is 1 instantie van TfrmMemo met de naam frmMemo, een andere heb ik gewoon niet...

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

post het projectje is als zip file dan ? anders komt niemand er uit denk ik.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

ermm....in je code staat frmConsole

We adore chaos because we like to restore order - M.C. Escher


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

Zo werkt ie wel.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
       // Form2 = new TForm2(Application);
       // Form2->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Form2->Show();
        Form2->SayIt("Blaat");
        ShowMessage("Beep!");
}
//---------------------------------------------------------------------------


Jij maakte een 2de form2 aan. Dit is niet nodig omdat Form2 al is aangemaakt in je project1.cpp file.

[ Voor 17% gewijzigd door Verwijderd op 28-11-2002 20:47 ]


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Aaaaaaaaaaaaahhhhhhhhhh

Fantastisch!

Is het nou ook zo dat als je een Form sluit met Ctrl-F4 of het kruisje, dat hij echt stopt en delete, of hide() hij alleen maar?

[ Voor 63% gewijzigd door WarMaster op 28-11-2002 20:52 ]

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

Mocht je geld te veel hebben dan moet je eens het boek C++ Dev Guide kopen... daar kun je iig veel uit leren... of de C++ Bijbel.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

WarMaster schreef op 28 November 2002 @ 20:51:
Aaaaaaaaaaaaahhhhhhhhhh

Fantastisch!

Is het nou ook zo dat als je een Form sluit met Ctrl-F4 of het kruisje, dat hij echt stopt en delete, of hide() hij alleen maar?
Hehe. Heb ik het toch goed geraden!

Sluiten van het form Hide() m alleen maar. Tenzij je er speciaal code voor schrijft.

Ik zou inderdaad eens een goed boek over BCB kopen. Dit is allemaal pretty basic stuff.

We adore chaos because we like to restore order - M.C. Escher


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Hmmmmmm

1 probleem...

Een 2de form kan je niet meteen laten showen bij de start van de eerste unit, of bij de form creation van de eerste unit...

Hij compileert netjes, maar je krijgt wel een dikke EAccess error...

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Klopt, het main form wordt altijd als eerste gecreate. Doe het dan ook pas in de OnShow ofzo. Of create m wel handmatig zoals je al eerder deed, maar haal m dan uit de auto create lijst.

Maar dit is niet echt de plaats nog het topic om hier vragen over te stellen.

We adore chaos because we like to restore order - M.C. Escher


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
Wat ik me nog afvraag is waarom het kan dat je 2 keer een object kan maken met dezelfde naam...

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.


Verwijderd

Dat heef te maken met scope enzo.... beetje veel werk om uit te leggen.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

WarMaster schreef op 01 December 2002 @ 11:52:
Wat ik me nog afvraag is waarom het kan dat je 2 keer een object kan maken met dezelfde naam...
Als je wil kan het 684 keer :) Aanrader: Sams' Teach Yourself Borland C++ Builder in 21 days.

Professionele website nodig?


  • WarMaster
  • Registratie: Juni 1999
  • Niet online

WarMaster

Nosce te ipsum

Topicstarter
curry684 schreef op 01 December 2002 @ 18:35:
[...]

Als je wil kan het 684 keer :) Aanrader: Sams' Teach Yourself Borland C++ Builder in 21 days.
Arrrrrghhh :)

Nog meer boeken!

Maar idd.. het wordt eens tijd dat ik een specefiek Borland boek koop...

We live in a primitive time don't we, neither savage nor wise. Half measures are the curse of it; any rational society would either kill me or put me to some use.

Pagina: 1