Search Results

Search found 14882 results on 596 pages for 'xfce4 power manager'.

Page 163/596 | < Previous Page | 159 160 161 162 163 164 165 166 167 168 169 170  | Next Page >

  • Xubuntu: how do I automatically mount external NTFS drive with writes allowed?

    - by user74372
    i would have thought mine was such a common question that there would be a simple solution already built in to xubuntu - but there isnt. i have 2 separate external hard disks and connect them to a usb port at different times - i would like them to be automatically mounted as read/write, but apparently the designers of gnome-volume-manager decided that shouldnt be possible and they are mounted as read-only in fact, i can write new files to them, but cannot then delete the new files i just wrote! is there a workaround? i read somewhere that etc/fstab doesn't apply to removable media, which are mounted by gnome-volume-manager and therefore cannot be unmounted by a user

    Read the article

  • Hadoop:Only master node does the work

    - by user287722
    I've setup a Hadoop 2.2 cluster with 1 master node(namenode and secondary namenode) and 3 slave nodes(datanode and namenode on each one).All of the machines use Linux Mint 64bit. When I run my MapReduce program, writen in Java, I can only see that master node is using extra CPU and RAM. Slave nodes are not doing a thing. I've checked the logs from all of the namenodes and there is nothing wrong with the namenodes on slave nodes. Resource Manager is running and all of the slave nodes can see the Resource Manager. I used this http://n0where.net/hadoop-2-2-multi-node-cluster-setup/ tutorial to configure my nodes. Datanodes are working in terms of distributed data storing but I can't see any indication of distributed data processing. Do I have to configure the xml configuration files in some other way so all of the machines will process data while I'm running my MapReduce Job?

    Read the article

  • Is it dangerous for me to give some of my Model classes Control-like methods?

    - by Pureferret
    In my personal project I have tried to stick to MVC, but I've also been made aware that sticking to MVC too tightly can be a bad thing as it makes writing awkward and forces the flow of the program in odd ways (i.e. some simple functions can be performed by something that normally wouldn't, and avoid MVC related overheads). So I'm beginning to feel justified in this compromise: I have some 'manager programs' that 'own' data and have some way to manipulate it, as such I think they'd count as both part of the model, and part of the control, and to me this feels more natural than keepingthem separate. For instance: One of my Managers is the PlayerCharacterManager that has these methods: void buySkill(PlayerCharacter playerCharacter, Skill skill); void changeName(); void changeRole(); void restatCharacter(); void addCharacterToGame(); void createNewCharacter(); PlayerCharacter getPlayerCharacter(); List<PlayerCharacter> getPlayersCharacter(Player player); List<PlayerCharacter> getAllCharacters(); I hope the mothod names are transparent enough that they don't all need explaining. I've called it a manager because it will help manage all of the PlayerCharacter 'model' objects the code creates, and create and keep a map of these. I may also get it to store other information in the future. I plan to have another two similar classes for this sort of control, but I will orchestrate when and how this happens, and what to do with the returned data via a pure controller class. This splitting up control between informed managers and the controller, as opposed to operating just through a controller seems like it will simplify my code and make it flow more. My question is, is this a dangerous choice, in terms of making the code harder to follow/test/fix? Is this somethign established as good or bad or neutral? I oculdn't find anything similar except the idea of Actors but that's not quite why I'm trying to do. Edit: Perhaps an example is needed; I'm using the Controller to update the view and access the data, so when I click the 'Add new character to a player button' it'll call methods in the controller that then go and tell the PlayerCharacterManager class to create a new character instance, it'll call the PlayerManager class to add that new character to the player-character map, and then it'll add this information to the database, and tell the view to update any GUIs effected. That is the sort of 'control sequence' I'm hoping to create with these manager classes.

    Read the article

  • What's New in Oracle VM VirtualBox 4.2?

    - by Fat Bloke
    A year is a long time in the IT industry. Since the last VirtualBox feature release, which was a little over a year ago, we've seen: new releases of cool new operating systems, such as Windows 8, ChromeOS, and Mountain Lion; we've seen a myriad of new Linux releases from big Enterprise class distributions like Oracle 6.3, to accessible desktop distros like Ubuntu 12.04 and Fedora 17; and we've also seen the spec of a typical PC or laptop double in power. All of these events have influenced our new VirtualBox version which we're releasing today. Here's how... Powerful hosts  One of the trends we've seen is that as the average host platform becomes more powerful, our users are consistently running more and more vm's. Some of our users have large libraries of vm's of various vintages, whilst others have groups of vm's that are run together as an assembly of the various tiers in a multi-tiered software solution, for example, a database tier, middleware tier, and front-ends.  So we're pleased to unveil a more powerful VirtualBox Manager to address the needs of these users: VM Groups Groups allow you to organize your VM library in a sensible way, e.g.  by platform type, by project, by version, by whatever. To create groups you can drag one VM onto another or select one or more VM's and choose Machine...Group from the menu bar. You can expand and collapse groups to save screen real estate, and you can Enter and Leave a group (think iPad navigation here) by using the right and left arrow keys when groups are selected. But groups are more than passive folders, because you can now also perform operations on groups, rather than all the individual VMs. So if you have a multi-tiered solution you can start the whole stack up with just one click. Autostart Many VirtualBox users run dedicated services in their VMs, for example, running a Wiki. With these types of VM workloads, you really want the VM start up when the host machine boots up. So with 4.2 we've introduced a cross-platform Auto-start mechanism to allow you to treat VMs as host services. Headless VM Launching With VM's such as web servers, wikis, and other types of server-class workloads, the Console of the VM is pretty much redundant. For some time now VirtualBox has offered a separate launch mechanism for these VM's, namely the command-line interface commands VBoxHeadless or VBoxManage startvm ... --type headless commands. But with 4.2 we also allow you launch headless VMs from the Manager. Simply hold down Shift when launching the VM from the Manager.  It's that easy. But how do you stop a headless VM? Well, with 4.2 we allow you to Close the VM from the Manager. (BTW best to use the ACPI Shutdown method which allows the guest VM to close down gracefully.) Easy VM Creation For our expert users, the  New VM Wizard was a little tiresome, so now there's a faster 2-click VM creation mode. Just Hide the description when creating a new VM. Powerful VMs  As the hosts have become more powerful, so are the guests that are running inside them. Here are some of the 4.2 features to accommodate them: Virtual Network Interface Cards  With 4.2, it's now possible to create VMs with up to 36 NICs, when using the ICH9 chipset emulation. But with great power comes great responsibility (didn't Obi-Wan say something similar?), and so we have also introduced bandwidth limiting to prevent a rogue VM stealing the whole pipe. VLAN tagging Some of our users leverage VLANs extensively so we've enhanced the E1000 NICs to support this.  Processor Performance If you are running a CPU which supports Nested Paging (aka EPT in the Intel world) such as most of the Core i5 and i7 CPUs, or are running an AMD Bulldozer or later, you should see some performance improvements from our work with these processors. And while we're talking Processors, we've added support for some of the more modern VIA CPUs too. Powerful Automation Because VirtualBox runs atop a fully blown operating system, it makes sense to leverage the capabilities of the host to run scripts that can drive the guest VMs. Guest Automation was introduced in a prior release but with 4.2 we've revamped the APIs to allow a richer and more powerful set of operations to be executed by the guest. Check out the IGuest APIs in the VirtualBox Programming Guide and Reference (SDK). Powerful Platforms  All the hardcore engineering that has gone into 4.2 has been done for a purpose and that is to deliver a fast and powerful engine that can run almost any x86 OS because of the integrity of the virtualization. So we're pleased to add support for these platforms: Mac OS X "Mountain Lion"  Windows 8 Windows Server 2012 Ubuntu 12.04 (“Precise Pangolin”) Fedora 17 Oracle Linux 6.3  Here's the proof: We don't have time to go into the myriad of smaller improvements such as support for burning audio CDs from a guest, bi-directional clipboard control,  drag-and-drop of files into Linux guests, etc. so we'll leave that as an exercise for the user as soon as you've downloaded from the Oracle or community site and taken a peek at the User Guide. So all in all, a pretty solid release, one that we hope you'll enjoy discovering. - FB 

    Read the article

  • Unity Launcher missing and Terminal shortcut stopped working

    - by Diana
    When I restarted my Ubuntu after it being updated, I found the Unity launch bar was gone. I tried looking up several solutions online, blindly typing in the commands that others suggested, and I found after the umpteenth time rebooting after typing in another foreign command, I found I couldn't even open up the terminal with the Ctrl+Alt+t shortcut either and I have no idea how to fix this. This was the last set of instructions I remember following before terminal stopped opening. Install CCSM sudo apt-get install compizconfig-settings-manager And then run it in terminal (Ctrl+Alt+t) ccsm Then search for "Ubuntu Unity Plugin". If it's not checked, check it. If it is checked you may have another issue. Try restarting compiz: kill -9pidof compiz` This will kill it, it should start up again, if it doesn't, CTRL+ALT+F2 and then type: sudo service lightdm restart to restart the window manager. Go back to the terminal and run: unity --reset

    Read the article

  • Changing Wallpaper on 12.04 Login Screen

    - by userIsAMonkey
    I'm using this link but seems to be not working on 12.04, here's the Terminal message below: Are there other softwares/tips for changing the login screen? I'm also using link but seems outdated. Failed to fetch http://ppa.launchpad.net/claudiocn/slm/ubuntu/dists/precise/main/source/Sources 404 Not Found W: Failed to fetch http://ppa.launchpad.net/claudiocn/slm/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found W: Failed to fetch http://ppa.launchpad.net/claudiocn/slm/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found E: Some index files failed to download. They have been ignored, or old ones used instead. law@ubuntu:~$ sudo apt-get install simple-lightdm-manager Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package simple-lightdm-manager

    Read the article

  • Blank desktop after updates today, only unity2d works now [closed]

    - by NewUbuntuUser
    Possible Duplicate: Unity doesn't load, no Launcher, no Dash appears I have been using 12.04 (wubi) since a week now and this is my 1st exposure to linux. Everything was going on fine till now , but today as soon as I updated through the update manager , docky gave a message that compositing is required or something, and i got an error window which asked me to report the error and then the update manager asked me to reboot. After rebooting , i just get a blank desktop screen , no launcher, no toolbar. I have to restart with the power key. However if i login through Unity 2d everything is fine except the benefits of the 3d environment. I guess something got messed up after the update and i cant figure out which program or file caused this mess. I would highly appreciate if someone could help me out with this as I really liked working on ubuntu after windows 7. Thanks! SOLVED-- Thanks @jrg for the link provided.. it helped me to come out of this mess. Actually some update of compizconfig made the unity plugin inactive did something to the Animation add ons , the one which you use for the burn effect etc. What i did was : On the blank desktop Pressed keys Ctrl + Alt + T to bring up the terminal and typed ccsm This brought up the compiz config system manager, there i enabled the unity plugin and rebooted. Everything started working fine. But then again when i started the addons plugin ,everything went back to square one.. :( . This time pressing Ctrl + Alt + T also did not help. Then i tried Ctrl + Alt + F1 , it brought up a terminal or whatever u call it, and then i typed unity --reset , it did some resetting and in the end it showed some comositing done , I pressed Ctrl + Alt + F7 to come back to the desktop , and here it was , my old sweet desktop.. it had the animation effects too like wobbly windows, excepting the addons like the burn effect, i guess something got wrong with the last update of that addon plugin and now whenever i try turning that on , everything goes poof!! 6 hours wasted , but i guess i learnt something new.. not bad for an orthodontist i guess :))

    Read the article

  • After Upgrade from 13.04 to 13.10 missing user in login screen

    - by Mark
    I have upgraded to 13.10 from 13.04 now after booting (even after updates and rebooting) my user id is not listed. It has a uid higher than the minimum in lightdm.conf. I have the user light display manager , guest , and remote login options in the login screen but not my ususal user id that I have been using from ubuntu 9 something. It is a normal user and an administrator so that I could authorize drivers, updates, etc... I do not have any custom display manager setup. It has been standard unity since unity was available. I can login to my account by logging in as guest opening a termial and using su - user Any insight would be appreciated. Thanks

    Read the article

  • Connected to Access Point but no internet connection?

    - by ReaZem
    I am trying to use my school's WPA Enterprise network to access the internet with my Three-OS laptop. I currently have Windows7, Ubuntu11.10 and Backtrack5 installed. I can use my home's WPA2 network without any issues with the 3 OS. I can successfully connect to my school's network with the 3 OS but I can only browse the internet with windows7. Ubuntu network-manager and Backtrack WICD both say that I am connected to the Acces Point but I cannot browse the internet. I have tried uninstalling network-manager and installing WICD but it did not solve the problem. Every time I connect to the Access Point, I am able to browse the internet for about 10 seconds. I have tried disabling IPV6 I have tried changing DNS.

    Read the article

  • Setting Default Ubuntu eth port

    - by No1_Melman
    Background: I have a desktop computer running Ubuntu 12.04. I have installed DRBL to handle DHCP server and Clonezilla Server. I have a network card in my desktop with 2 ports in it. These 2 ports are bonded together and are used by DRBL. There is a 3rd port integrated in the motherboard. I want to use this 3rd port for internet. DRBL knows that this is set for internet. Ubuntu Network-Manager has stopped recognising the connections (device not managed). It use to say that eth1 was default (first port in the network card) I want eth0 to be default as that is the Internet port. Question: How do I make network-manager see eth0 as the defualt port?

    Read the article

  • How do I upgrade from 9.04 to 10.04.2?

    - by Yadnesh
    I'm currently runing Ubuntu 9.04 Jaunty. I want to upgrade to 10.04.02, but whenever I use the Update manager to do this, it fails with the error "An upgrade from 'jaunty' to 'lucid' is not supported with this tool". I also tried to run sudo do-release-upgrade -d, but it fails with the same error message: Checking for a new ubuntu release Done Upgrade tool signature Done Upgrade tool Done downloading extracting 'lucid.tar.gz' authenticate 'lucid.tar.gz' against 'lucid.tar.gz.gpg' tar: Removing leading `/' from member names Reading cache Checking package manager Can not upgrade An upgrade from 'jaunty' to 'lucid' is not supported with this tool.

    Read the article

  • Windows not closing

    - by bhanu
    After login, a number of windows such as Desktop, Downloads, and Pictures opens automatically. When I try to close them one by one closes itself but last one opens all indicating starting file manager in lower panel/status bar. After login all the windows such as desktop,download,home opens automatically when i try to minimise them all minimise. when i try to close them one after another they disappears but not last one which closes itself and reappear along with other indicating message starting file manager in status bar. ( it seems that there are a number of open nautilus windows at startup upon login, and when the user tries to close them, nautilus crashes and tries to restart)

    Read the article

  • "An upgrade from 'precise' to 'oneiric' is not unsupported with this tool" error while upgrading

    - by tas
    A brief electrical outage interrupted my 12.04 upgrade. After many tries, which included trying to upgrade from a command line, I was able to access Ubuntu screens again. I find that the 12.04 upgrade was indeed not completed; I am still running 11.10. However, Update Manager does not give me the option of installing 12.o4 now. And, when I run Update Manager, I am asked if I want to execute a "partial install." When I answer "yes," I receive the message above. Besides a clean install, any ideas about what can I do to upgrade to 12.4?

    Read the article

  • A Single wireless network is not showing up in Ubuntu that used too, and other devices have no issue finding or connecting to it

    - by Kit Sunde
    Up until about a week ago I could connect to my wireless, but now I suddenly can't. Every other wireless in the area show up in the network manager. My kindle can connect to it, my friend can connect to it (in windows) without having connected to it before. My other netbook (Samsung NC10) can connect to it, but my other Samsung N150 now cannot even see it. I have tried deleting the old auto entry for it in the network manager Tried disabling and enabling both the networking and the wireless through the network indicator. Disabled the networking through the hardware shortkut key thing [fn] + [F9] Attempting to connect to it as if it was a hidden network. I'm at a loss, how would I go about debugging and unborking my computer?

    Read the article

  • Network doesn't work after upgrading to 13.10

    - by Inkbug
    I upgraded from 13.04 to 13.10, and a number of things stopped working. Most importantly, I don't have internet access anymore. When I go to the network settings, I receive the following error: The system network services are not compatible with this version. The only settings that show up in the network settings are the proxy settings. I tried sudo service network-manager start and sudo service network-manager restart, but it told me the service was already running. In addition, the menu bar is missing all of the indicators (such as keyboard layout, sound, network, clock, and the gear icon). Is this related or a separate issue?

    Read the article

  • Deals Well With Ambiguity

    A while ago I was talking with my manager at the time about traits that we value in a Program Manager. He related an anecdote about an interview he gave where it became clear that the candidate did not deal well with ambiguity. This is an important trait for nearly every job, but especially for PMs as projects can often change on a dime and its important understand how to make progress amidst ambiguity and eventually drive towards resolving ambiguity. Lately, Ive been asking myself the question,...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Upgrade Ubuntu 10.04 to Ubuntu 10.10

    - by user8561
    Hi. I'm new to these forums so I'll be quick. When I try to upgrade to Ubuntu 10.10 from 10.04 I get this error, I have tried upgrading from Terminal and Update Manager as well. Could not determine the upgrade An unresolvable problem occurred while calculating the upgrade: E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. This can be caused by: * Upgrading to a pre-release version of Ubuntu * Running the current pre-release version of Ubuntu * Unofficial software packages not provided by Ubuntu If none of this applies, then please report this bug against the 'update-manager' package and include the files in /var/log/dist-upgrade/ in the bug report. Restoring original system state Thanks Aborting

    Read the article

  • Ubuntu 12.10 hasa no wireless connectivity on Dell Inspiron 1520

    - by Jorge Tijerina
    I have just installed Ubuntu for the first time ever. I have just installed it in a Dell Inspiron 1520 that came pre installed with Windows Vista and i currently run both of the OS (I just choose when the computer starts up). The wifi definitely works on the computer since i used it to download Ubuntu in the first place when I was using Vista. The Network Manager says that I only have a 'Wired' Network and it doesn't have any other options to choose from. I connected the Laptop into a wired connection and downloaded the 'Wicd Network Manager' but it had no effect either. From there I continued to go into 'Software Sources' and installed the wireless drive but that had no effect either. So... What can I do?

    Read the article

  • v9.31??????????

    - by user773457
    Oracle Application Testing Suite 9.31?????????????????????????? ?????????????????? Oracle Application Testing Suite???????????????·????????? Oracle Load Testing Load Testing?????·??? Oracle Load Testing ServerStats?????·??? Oracle Test Manager Test Manager?????·??? Oracle Application Testing Suite????·??? Oracle Functional Testing OpenScript?????·??? Oracle Application Testing Suite????·??? ATS-Tech? ???? ???????????????

    Read the article

  • ????????????

    - by ???02
    ????????????Oracle Data Masking Pack???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????Oracle Data Masking????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????1. ??????????????Oracle Enterpirse Manager?GUI????????????????????????????????????????????????????????????????????2. ???????????????????????? "???"????????????????????"?????"??????????????????"?????"????????????????????????????????????????????"?????"??????????????????????"?????"?????????????????3. Oracle Database??????? / ?? / ??????????????????????????????????????????4. ????????????Oracle Data Masking Pack??Oracle Enterprise Manager??????????????????1???????????????·????·??????????·???????????????????? ?????? Oracle Direct

    Read the article

  • ?????? ??????????! ?Gold???? vol.10

    - by M.Morozumi
    ------------------------------- ????: (       ) ?CONFIGURE AUXNAME ??? DB_FILE_NAME_CONVERT ?????????????????????·???????????????????????Recovery Manager ? TSPITR ????????????????????????????????????????????????????????????? (       ) ?????????????1????????? ???: SET FILENAME SET NEWNAME ????????????? ------------------------------- ??: 2.  SET NEWNAME ??:  SET NEWNAME?CONFIGURE AUXNAME ??? DB_FILE_NAME_CONVERT ?????????????????????·???????????????????????Recovery Manager ? TSPITR ?????????????? ???????: Oracle Database 11g: ????????? II

    Read the article

  • Peer did not return a certificate

    - by pfista
    I am trying to get two way SSL authentication working between a Python server and an Android client application. I have access to both the server and client, and would like to implement client authentication using my own certificate. So far I have been able to verify the server certificate and connect without client authentication. What sort of certificate does the client need and how do I get it to automatically send it to the server during the handshake process? Here is the client and server side code that I have so far. Is my approach wrong? Server Code while True: # Keep listening for clients c, fromaddr = sock.accept() ssl_sock = ssl.wrap_socket(c, keyfile = "serverPrivateKey.pem", certfile = "servercert.pem", server_side = True, # Require the client to provide a certificate cert_reqs = ssl.CERT_REQUIRED, ssl_version = ssl.PROTOCOL_TLSv1, ca_certs = "clientcert.pem", #TODO must point to a file of CA certificates?? do_handshake_on_connect = True, ciphers="!NULL:!EXPORT:AES256-SHA") print ssl_sock.cipher() thrd = sock_thread(ssl_sock) thrd.daemon = True thrd.start() I suspect I may be using the wrong file for ca_certs...? Client Code private boolean connect() { try { KeyStore keystore = KeyStore.getInstance("BKS"); // Stores the client certificate, to be sent to server KeyStore truststore = KeyStore.getInstance("BKS"); // Stores the server certificate we want to trust // TODO: change hard coded password... THIS IS REAL BAD MKAY truststore.load(mSocketService.getResources().openRawResource(R.raw.truststore), "test".toCharArray()); keystore.load(mSocketService.getResources().openRawResource(R.raw.keystore), "test".toCharArray()); // Use the key manager for client authentication. Keys in the key manager will be sent to the host KeyManagerFactory keyFManager = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); keyFManager.init(keystore, "test".toCharArray()); // Use the trust manager to determine if the host I am connecting to is a trusted host TrustManagerFactory trustMFactory = TrustManagerFactory.getInstance(TrustManagerFactory .getDefaultAlgorithm()); trustMFactory.init(truststore); // Create the socket factory and add both the trust manager and key manager SSLCertificateSocketFactory socketFactory = (SSLCertificateSocketFactory) SSLCertificateSocketFactory .getDefault(5000, new SSLSessionCache(mSocketService)); socketFactory.setTrustManagers(trustMFactory.getTrustManagers()); socketFactory.setKeyManagers(keyFManager.getKeyManagers()); // Open SSL socket directly to host, host name verification is NOT performed here due to // SSLCertificateFactory implementation mSSLSocket = (SSLSocket) socketFactory.createSocket(mHostname, mPort); mSSLSocket.setSoTimeout(TIMEOUT); // Most SSLSocketFactory implementations do not verify the server's identity, allowing man-in-the-middle // attacks. This implementation (SSLCertificateSocketFactory) does check the server's certificate hostname, // but only for createSocket variants that specify a hostname. When using methods that use InetAddress or // which return an unconnected socket, you MUST verify the server's identity yourself to ensure a secure // connection. verifyHostname(); // Safe to proceed with socket now ... I have generated a client private key, a client certificate, a server private key, and a server certificate using openssl. I then added the client certificate to keystore.bks (which I store in /res/raw/keystore.bks) I then added the server certificate to the truststore.bks So now when the client tries to connect I am getting this error server side: ssl.SSLError: [Errno 1] _ssl.c:504: error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate And when I try to do this in the android client SSLSession s = mSSLSocket.getSession(); s.getPeerCertificates(); I get this error: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate So obviously the keystore I am using doesn't appear to have a correct peer certificate in it and thus isn't sending one to the server. What should I put in the keystore to prevent this exception? Furthermore, is this method of two way SSL authentication safe and effective?

    Read the article

  • String Sharing/Reference issue with objects in Delphi

    - by jenakai123
    My application builds many objects in memory based on filenames (among other string based information). I was hoping to optimise memory usage by storing the path and filename separately, and then sharing the path between objects in the same path. I wasn't trying to look at using a string pool or anything, basically my objects are sorted so if I have 10 objects with the same path I want objects 2-10 to have their path "pointed" at object 1's path (eg object[2].Path=object[1].Path); I have a problem though, I don't believe that my objects are in fact sharing a reference to the same string after I think I am telling them to (by the object[2].Path=object[1].Path assignment). When I do an experiment with a string list and set all the values to point to the first value in the list I can see the "memory conservation" in action, but when I use objects I see absolutely no change at all, admittedly I am only using task manager (private working set) to watch for memory use changes. Here's a contrived example, I hope this makes sense. I have an object: TfileObject=class(Tobject) FpathPart: string; FfilePart: string; end; Now I create 1,000,000 instances of the object, using a new string for each one: var x: integer; MyFilePath: string; fo: TfileObject; begin for x := 1 to 1000000 do begin // create a new string for every iteration of the loop MyFilePath:=ExtractFilePath(Application.ExeName); fo:=TfileObject.Create; fo.FpathPart:=MyFilePath; FobjectList.Add(fo); end; end; Run this up and task manager says I am using 68MB of memory or something. (Note that if I allocated MyFilePath outside of the loop then I do save memory because of 1 instance of the string, but this is a contrived example and not actually how it would happen in the app). Now I want to "optimise" my memory usage by making all objects share the same instance of the path string, since it's the same value: var x: integer; begin for x:=1 to FobjectList.Count-1 do begin TfileObject(FobjectList[x]).FpathPart:=TfileObject(FobjectList[0]).FpathPart; end; end; Task Manager shows absouletly no change. However if I do something similar with a TstringList: var x: integer; begin for x := 1 to 1000000 do begin FstringList.Add(ExtractFilePath(Application.ExeName)); end; end; Task Manager says 60MB memory use. Now optimise with: var x: integer; begin for x := 1 to FstringList.Count - 1 do FstringList[x]:=FstringList[0]; end; Task Manager shows the drop in memory usage that I would expect, now 10MB. So I seem to be able to share strings in a string list, but not in objects. I am obviously missing something conceptually, in code or both! I hope this makes sense, I can really see the ability to conserve memory using this technique as I have a lot of objects all with lots of string information, that data is sorted in many different ways and I would like to be able to iterate over this data once it is loaded into memory and free some of that memory back up again by sharing strings in this way. Thanks in advance for any assistance you can offer.

    Read the article

< Previous Page | 159 160 161 162 163 164 165 166 167 168 169 170  | Next Page >