Wert einer Variable in mehreren *.cpp Dateien verwenden
-
Hallo,
Ich habe folgendes Problem.
In der FileView.cpp-Projekt-Datei,befindet sich die Variable "nFileSizeLow",die als Wert die Dateigröße enthält.
Wie kann ich von meiner Ausgabe.cpp-Datei auf diese Variable zugreifen und den Wert auslesen?Die Variable ist in der FileView.h-Datei wie folgt definiert:
typedef struct tagITEMINFO { DWORD nFileSizeLow; }ITEMINFO;FileView.cpp
BOOL CFileView::AddItem(int nIndex, WIN32_FIND_DATA *pfd) { // // ITEMINFO-Struktur dynamisch anfordern und initialisieren // ITEMINFO* pItem; try { pItem = new ITEMINFO; } catch (CMemoryException* e) { e->Delete (); return FALSE; } pItem->strFileName = pfd->cFileName; pItem->nFileSizeLow = pfd->nFileSizeLow; //enthält die Dateigröße pItem->ftLastWriteTime = pfd->ftLastWriteTime; // // Eintrag in Liste-Steuerelement einfügen // LV_ITEM lvi; lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; lvi.iItem = nIndex; lvi.iSubItem = 0; lvi.iImage = 0; lvi.pszText = LPSTR_TEXTCALLBACK; lvi.lParam = (LPARAM) pItem; if (GetListCtrl ().InsertItem (&lvi) == -1) return FALSE; return TRUE; }Gruß Jim35
-
//cpp1 long val=0; //cpp2 extern long val; //cpp3 extern long val;
-
Hallo,
Wer hat eine Lösung für mein Problem???
Ich habe die Adresse von der Variable string (somit auch den Inhalt),der Variable wert zugewiesen.
Wie greife ich von einer anderen .cpp,auf diese Variable wert zu,ohne das der Inhalt verloren geht.Die Funktion in der anderen .cpp lautet:
extern CString *wert; void CAusgabe::OnInitialUpdate() { m_ausgabe.Format("%i",*wert) SetDlgItemText(IDC_Static,m_ausgabe);FileView.cpp
[b]static int wert;[/b] void CFileView::OnGetDispInfo(NMHDR* pNMHDR, LRESULT* pResult) { CString string; LV_DISPINFO* pDispInfo = (LV_DISPINFO*) pNMHDR; if (pDispInfo->item.mask & LVIF_TEXT) { ITEMINFO* pItem = (ITEMINFO*) pDispInfo->item.lParam; switch (pDispInfo->item.iSubItem) { case 0: // Dateiname ::lstrcpy (pDispInfo->item.pszText, pItem->strFileName); break; string.Format (_T ("%u"), pItem->nFileSizeLow); ::lstrcpy (pDispInfo->item.pszText, string); [b] wert = &string;[/b] break; case 1: ..... ... ... } } }Gruß Jim35